从Oracle存储过程Oracle 11g发送邮件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Oracle存储过程Oracle 11g发送邮件相关的知识,希望对你有一定的参考价值。
我正在尝试使用utl_mail发送邮件,并使用端口25或587发送smtp服务器smtp.gmail.com。
如果我使用端口25,获取错误,必须首先使用STARTTLS命令,而对于587,它将进入无限循环。
我的代码片段如下
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;
任何帮助都感激不尽。
答案
您可能有访问控制列表问题。代码报告的错误是什么?
您也可以提供此查询的输出(您需要提供用户参数):
SELECT host, lower_port, upper_port, acl,
DECODE(
DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE_ACLID(aclid, '&USER', 'connect'),
1, 'GRANTED', 0, 'DENIED', null) privilege
FROM dba_network_acls
;
以上是关于从Oracle存储过程Oracle 11g发送邮件的主要内容,如果未能解决你的问题,请参考以下文章
Oracle 存储过程 - 也许 10g 和 11g 之间的区别?