2017-03-08 23 views
0

尝试解决使用Oracle APEX5 11g发送电子邮件的问题。我已按照Oracle指示设置了管理设置:无法使用Oracle 11g发送电子邮件APEX5


SMTP主机地址 - 定义SMTP服务器的服务器地址。在安装时默认情况下,它被设置为localhost。如果您使用另一台服务器作为SMTP中继,请将此参数更改为该服务器的地址。

SMTP主机端口 - 定义SMTP服务器侦听邮件请求的端口。默认设置为25.

SMTP身份验证用户名 - 如果输入用户名,则Oracle Application Express在发送电子邮件时进行身份验证。在Oracle数据库11g第2版(11.2.0.2)之前,仅支持SMTP认证方案“LOGIN”。在较新的数据库版本中,支持UTL_SMTP的所有认证方案。

SMTP验证密码 - 如果您输入密码,Oracle Application Express在发送电子邮件时进行验证。在Oracle数据库11g第2版,11.2.0.2版之前,仅支持SMTP认证方案“LOGIN”。在较新的数据库版本中,支持UTL_SMTP的所有认证方案。

使用SSL/TLS-从Oracle数据库11g第2版(11.2.0.2)开始,Oracle Application Express支持安全的SMTP连接。选项包括:

是 - 在SMTP通信之前建立与SSL/TLS的安全连接。

连接建立后 - Oracle Application Express在连接打开后立即发送SMTP命令STARTTLS。

否 - 打开一个不安全的连接。

默认电子邮件发件人地址 - 定义生成电子邮件任务的发件人地址,例如批准提供请求或重置密码。


我也曾在sqlplus以sysdba身份运行“授予连接特权”脚本按照甲骨文指令预12C:


DECLARE 
    ACL_PATH VARCHAR2(4000); 
BEGIN 
    -- Look for the ACL currently assigned to '*' and give APEX_050000 
    -- the "connect" privilege if APEX_050000 does not have the privilege yet. 

    SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS 
    WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; 

    IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_050000', 
    'connect') IS NULL THEN 
     DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
    'APEX_050000', TRUE, 'connect'); 
    END IF; 

EXCEPTION 
    -- When no ACL has been assigned to '*'. 
    WHEN NO_DATA_FOUND THEN 
    DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml', 
    'ACL that lets power users to connect to everywhere', 
    'APEX_050000', TRUE, 'connect'); 
    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*'); 
END; 
/
COMMIT; 

是否有更多的,我需要在应用程序中添加任何包,程序等。

每当我尝试使用APEX发送EMail过程或运行标准APEX_MAIL.SEND PL/SQL代码时,我无法让我的应用程序从我的SMTP服务器(Gmail或BT Internet)发送电子邮件,我从未试过就像我现在所做的那样,使用本地主机环境从我自己的PC设置电子邮件,以前只能从全部配置的工作环境中完成。任何建议非常感谢。

+0

你配置了ACL吗?访问控制列表需要进行配置,以便您可以发送邮件或访问互联网。这篇博客中有信息:http://www.dadbm.com/enable-oracle-database-to-send-emails-via-smtp-server/ –

回答

0

首先创建ACL并将其分配给您的用户APEX_050000。

第二点,您需要确保连接使用SSL证书,如果是,您必须创建一个钱包并安装合适的证书(.crt)以从外部smtp发送电子邮件。在这里你可以找到详细信息:

​​