[英]error in sending email in oracle 11g with oracle linux 5.9
我的操作系統是oracle linux 5.9。我有一個使用utl_smtp軟件包發送電子郵件的過程(在oracle11g中)
declare
l_mail_con
utl_smtp.connection;
begin
l_mail_con:=utl_smtp.open_connection('smtp.gmail.com',25);
utl_smtp.EHLO(l_mail_con,'smtp.gmail.com');
utl_smtp.command(l_mail_con,'STARTTLS');
utl_smtp.command(l_mail_con,'AUTH','LOGIN');
utl_smtp.command(l_mail_con,utl_encode.base64_encode(utl_raw.cast_to_raw('myemail@gmail.com')));
utl_smtp.command(l_mail_con,utl_encode.base64_encode(utl_raw.cast_to_raw('mypass')));
utl_smtp.mail(l_mail_con,'mymail@gmail.com');
utl_smtp.rcpt(l_mail_con,'receivermail.com');
utl_smtp.data(l_mail_con,'hi saeideh'||utl_tcp.crlf||utl_tcp.crlf);
utl_smtp.quit(l_mail_con);
end;
/
這是我的錯誤
ERROR at line 1:
ORA-29278: SMTP transient error: 421 Service not available
ORA-06512: at "SYS.UTL_SMTP", line 54
ORA-06512: at "SYS.UTL_SMTP", line 138
ORA-06512: at "SYS.UTL_SMTP", line 219
ORA-06512: at line 7
這是telnet輸出
$ telnet smtp.gmail.com 25
Trying 173.194.65.109...
Connected to smtp.gmail.com (173.194.65.109).
Escape character is '^]'.
220 smtp.gmail.com ESMTP fa13sm2443360wid.17 - gsmtp
ehlo Page on gmail.com
smtp.gmail.com at your service, [188.158.207.128]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
starttls
220 2.0.0 Ready to start TLS
auth login
Connection closed by foreign host.
我該如何解決這個錯誤? 請幫我謝謝
我認為您尚未啟用ACL (access control list)
:
在Oracle數據庫中使用一個數據庫用戶創建ACL
BEGIN DBMS_NETWORK_ACL_ADMIN.CREATE_ACL ( acl => 'smtp-gate-permissions.xml', description => 'Permissions for smtp gate', principal => 'SCOTT', is_grant => TRUE, privilege => 'connect' ); COMMIT; END;
將ACL分配給一個或多個網絡主機
BEGIN DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL ( acl => 'smtp-gate-permissions.xml', host => '<smtp_server>', lower_port => 25, upper_port => null); COMMIT; END;
確認
SELECT host, lower_port, upper_port, acl FROM dba_network_acls; SELECT acl, principal, privilege, is_grant, TO_CHAR(start_date, 'DD-MON-YYYY HH24:MI') AS start_date, TO_CHAR(end_date, 'DD-MON-YYYY') AS end_date FROM dba_network_acl_privileges
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.