必须从以下地址发送电子邮件oracle apex
using APEX_MAIL.SEND()
方法。
我正在使用代码:
BEGIN
apex_mail.send(p_to => '[email protected] /cdn-cgi/l/email-protection'/*l_to_addr*/,
p_from => '[email protected] /cdn-cgi/l/email-protection'/*l_from_addr*/,
p_bcc => l_bcc_addr,
p_subj => l_mail_sub,
p_body => 'Service Request ' || :mail_body ||
'Note:- This is a system generated Email. Please DO NOT REPLY to it.');
apex_mail.push_queue;
EXCEPTION
when others then
INSERT INTO send_mail_error_test VALUES ('Send_mail',systimestamp,:service_request_id||'-err:'||seq_service_req_error_id.NEXTVAL);
COMMIT;
END;
*** 所有变量都包含正确的值
使用数据库并且该数据库具有 ACL(访问控制列表)访问权限
在 apex 管理服务中,将电子邮件的实例设置配置为主机名、端口、启用电子邮件配置。
UTL_SMTP 包已安装
从同一进程,在控制流的同一点,使用 utl_Smtp 发送邮件的代码工作正常,尽管 apex_mail.send() 不起作用。
That apex_mail.send()
没有给出任何错误或异常,但我没有收到来自它的电子邮件。
有一个困惑,得到了一些类似的解决方案,'APEX_040200
' 应该被添加到ACL
。但是我正在使用的数据库并在其上实现代码,比如说'apex_user
' 已经添加到ACL
。即使现在我还必须添加'APEX_040200
' or 'APEX_050200
' to ACL
?
谁能帮助我并给我一个富有成效的解决方案?我使用的是 apex 5.0.2.00.07。
正如可以在apex_mail API 文档 https://docs.oracle.com/cd/E59726_01/doc.50/e39149/apex_mail.htm#AEAPI1190:
在从 Application Builder 应用程序发送电子邮件之前,您
必须:
登录到 Oracle Application Express 管理服务并
在“实例设置”页面上配置电子邮件设置。看
Oracle Application Express 管理指南中的“配置电子邮件”。
如果您正在运行 Oracle Application Express 和 Oracle Database 11g
在版本 1 (11.1) 中,您必须启用出站邮件。在 Oracle 数据库中
11g版本1(11.1),与网络服务交互的能力是
默认禁用。请参阅“在 Oracle 数据库中启用网络服务
Oracle Application Express Application Builder 用户指南中的“11g”。
您指定的实例设置没问题。您的“数据库具有 ALC 访问权限”没有任何意义。您的意思是您有一个使用网络 ACL 的数据库吗? (11克或更高)
相同的文档链接到“在 Oracle Database 11g 或更高版本中启用网络服务”文档 https://docs.oracle.com/cd/E59726_01/doc.50/e39147/sec_admin_ssl.htm#HTMDB12006
这份文件不会让你猜测:
默认情况下,与网络服务交互的能力被禁用
在 Oracle Database 11g 第 1 版或第 2 版或更高版本中。因此,如果您是
与 Oracle Database 11g 第 1 版一起运行 Oracle Application Express
或者 2 或更高版本,您必须使用新的 DBMS_NETWORK_ACL_ADMIN 包来
向任何主机授予连接权限APEX_050000数据库
用户。未能授予这些权限会导致以下问题:...
如果您有旧版本的 apex,例如 4.2,则要授予的用户是另一个用户,可以在文档中找到。或者,您也可以找出
例如通过查询ALL_USERS
查看并找到APEX_######
用户,选择版本号最高的版本:
select *
from all_users
where username like 'APEX%'
order by username;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)