1

我想从 oracle 数据库发送电子邮件。

所以我做了以下步骤

  1. @F:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlmail.sql

  2. @F:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\prvtmail.plb

  3. alter system set smtp_out_server = 'webmail.vilsoft.co.in:25' scope=both;

  4. exec utl_mail.send(sender=> 'Id1@vilsoft.co.in',
                       recipients=>'Id2@vilsoft.co.in',
                       subject=>'test mail',message=>'hi');
    

PL/SQL 过程成功完成。

所以邮件被正确地发送到目的地。

但是当我想将邮件从一台服务器发送到另一台服务器时,我执行以下查询

SQL> exec utl_mail.send(sender=> 'ID1@vilsoft.co.in',recipients=>'Id2@gmail.com',
                        subject=>'test mail',message=>'hi');

然后发生以下错误....

BEGIN utl_mail.send(sender=> 'ID1@vilsoft.co.in',recipients=>'Id2@gmail.com',
                    subject=>'test mail',message=>'hi'); 
END;

*
ERROR at line 1:
ORA-29279: SMTP permanent error: 553 sorry, that domain isn't in my list of
allowed rcpthosts (#5.7.1)

ORA-06512: at "SYS.UTL_SMTP", line 20
ORA-06512: at "SYS.UTL_SMTP", line 98
ORA-06512: at "SYS.UTL_SMTP", line 240
ORA-06512: at "SYS.UTL_MAIL", line 424
ORA-06512: at "SYS.UTL_MAIL", line 594
ORA-06512: at line 1

所以请帮我解决这个错误......

4

1 回答 1

2

这本身不是 Oracle 错误 - Oracle 只是报告从邮件系统收到的错误。错误消息本身 (SMTP 553) 可能意味着几件事,其中您的 ISP 不允许在您的域之外发送未经身份验证的邮件,或者您的本地网络安全策略不允许将邮件从您的邮件服务器发送到gmail.com 域,或者您要发送到的邮件服务器在黑名单中看到您的域或地址。与您的 ISP 交谈以进行验证。

于 2011-12-21T15:15:04.330 回答