2016-05-11 2 views
0

Я пытаюсь отправить электронные письма из oracle db через пакет utl_mail. я установил его, предоставил разрешения для пользователя и т. д. Так как у меня нет коммерческого почтового сервера, я использую учетную запись gmail, и для проверки подлинности я запускаю электронное ретранслятор (e-mailrelay в этом случае, который также работает нормально).компиляция процедуры utl_mail, но не пришло сообщение

Так что, когда я выполнил эту процедуру в PL/SQL он составлен succesfuly:

begin 
    UTL_MAIL.send(sender  => 'My Name "<[email protected]>"', 
        recipients => '[email protected]', 
        subject => 'Test', 
        message => 'It works!'); 
end; 

я oppened счета на Gmail и получил tihs сообщения о том, что приложение пыталось войти и он был заблокирован. поэтому я настроил gmail, чтобы принять логины из менее защищенных приложений, отправил снова электронные письма, но они не поступают. Я проверил последние gmail в gmail и не нашел ничего, что могло бы ссылаться на oracle/plsql.

В чем причина неуправляемой отправки электронной почты? Есть ли простой способ отправить с другим бесплатным сервером электронной почты, который не требует аутентификации? спасибо.

+0

Что пытались входить? Вы проверили, помечен ли он как нежелательная почта, поскольку он может выглядеть немного подозрительно и раньше (возможно) был заблокирован? –

+0

oracle попытался войти в эту учетную запись в gmail через utl_mail и emailrelay ... он не находится в папке спама –

+0

Я думаю, что пакет 'UTL_MAIL' не предназначен для использования внешнего SMTP-сервера, такого как gmail. Вы должны использовать низкоуровневый пакет [UTL_SMTP] (https://docs.oracle.com/database/121/ARPLS/u_smtp.htm#ARPLS074), см. Также этот ответ: http://stackoverflow.com/questions/26186179/send-email-from-pl-sql-procedure –

ответ

0

Проверьте, предоставили ли вы надлежащее разрешение текущему пользователю.

Повторите следующую команду и проверьте.

grant execute on UTL_MAIL to public; 
+0

уже проверен. это не проблема .... –