ORA-29279: Постоянная ошибка SMTP: 530 Требуется проверка подлинности 5.7.0 - PullRequest
0 голосов
/ 26 апреля 2018

Пожалуйста, помогите мне, я пытаюсь отправить почту из базы данных Oracle 11g и при отправке почты из базы данных, я получаю следующую ошибку.

введите описание изображения здесь

  CREATE OR REPLACE PROCEDURE send_mail_deepak_test (p_to        IN VARCHAR2,
                                       p_from      IN VARCHAR2,
                                       p_subject   IN VARCHAR2,
                                       p_message   IN VARCHAR2,
                                       p_smtp_host IN VARCHAR2,
                                       p_smtp_port IN NUMBER DEFAULT 25)
AS
  l_mail_conn   UTL_SMTP.connection;
BEGIN
  l_mail_conn := UTL_SMTP.open_connection(p_smtp_host, p_smtp_port);

  UTL_SMTP.helo(l_mail_conn, p_smtp_host);
  UTL_SMTP.mail(l_mail_conn, p_from);
  UTL_SMTP.rcpt(l_mail_conn, p_to);

  UTL_SMTP.open_data(l_mail_conn);

  UTL_SMTP.write_data(l_mail_conn, 'Date: ' || TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS') || UTL_TCP.crlf);
  UTL_SMTP.write_data(l_mail_conn, 'To: ' || p_to || UTL_TCP.crlf);
  UTL_SMTP.write_data(l_mail_conn, 'From: ' || p_from || UTL_TCP.crlf);
  UTL_SMTP.write_data(l_mail_conn, 'Subject: ' || p_subject || UTL_TCP.crlf);
  UTL_SMTP.write_data(l_mail_conn, 'Reply-To: ' || p_from || UTL_TCP.crlf || UTL_TCP.crlf);

  UTL_SMTP.write_data(l_mail_conn, p_message || UTL_TCP.crlf || UTL_TCP.crlf);
  UTL_SMTP.close_data(l_mail_conn);

  UTL_SMTP.quit(l_mail_conn);
END;
/

1 Ответ

0 голосов
/ 27 апреля 2018

Сообщение очень ясно. Аутентифицировать:

base64username := UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw('a@b.com')));  
base64password := UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw('1234')));

con:= UTL_SMTP.open_connection('myhost', 25);
UTL_SMTP.ehlo(con, smtpHost);
UTL_SMTP.command(con, 'AUTH', 'LOGIN');
UTL_SMTP.command(con, base64username );
UTL_SMTP.command(con, base64password );

Другое решение - как упомянуто @FDavidoc - попросить вашего администратора снизить безопасность вашего компьютера и разрешить отправку почты без авторизации. Таким образом, вам не нужно беспокоиться о паролях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...