【发布时间】:2014-05-07 10:33:57
【问题描述】:
我正在尝试使用 utl_mail 和 smtp 服务器 smtp.gmail.com 使用端口 25 或 587 发送邮件。
如果我使用端口 25,出现错误,必须先使用 STARTTLS 命令,对于 587,它会进入无限循环。
我的代码 sn-p 在下面
create or replace
PROCEDURE TEST_UTL_MAIL AS
BEGIN
utl_mail.send(
sender => 'xxx@gmail.com',
recipients => 'xxx@gmail.com',
subject => 'Testing utl_mail',
message => 'The receipt of this email means'
);
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20001,'The following error has occured: ' || sqlerrm);
END;
任何帮助将不胜感激。
【问题讨论】:
-
您使用的是哪个版本的 Oracle?我认为 11.2.0.2 是第一个支持邮件 TLS 的版本。
-
是 PL/SQL 版本 11.2.0.1.0 - 生产
-
那么我想你会很难让它工作。您的邮件服务器似乎需要 TLS(安全)通信,而数据库包直到 11.2.0.2 才支持。如果您搜索 TLS,还有更多信息 here。
-
在我的 oracle 版本中有没有更好的方法来做到这一点?
-
如果您可以更改邮件服务器端的设置,您可以始终禁用对 Oracle 服务器 IP 号的 TLS 要求,直到 Oracle 更新时您很可能再次打开它。将 TLS 支持添加到
utl_mail似乎并不可行。
标签: sql oracle email oracle11g