Oracle APEX4.2.6交互式报告电子邮件选项

时间:2018-12-12 18:02:44

标签: oracle-apex oracle-apex-5

我一直在尝试设置APEX交互式报告以发送邮件:

enter image description here

并使用正确的信息设置apex实例电子邮件选项:

enter image description here

按照oracle文档的说明,启用INTERNAL工作区SCHEMA('APEX_040200')的网络设置;这是我用来启用网络设置的代码:

    DECLARE 
ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_050100
  -- the "connect" privilege if APEX_050100 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_040200',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_040200', 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_040200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

仍然没有任何变化,当我单击“发送”按钮时,它只是关闭而邮件从未到达。

我当前正在使用oracle DB 11gR2版本。

我将不胜感激。

2 个答案:

答案 0 :(得分:0)

您需要设置SMTP主机地址和端口,否则它不知道要连接到哪个服务器。

答案 1 :(得分:0)

所以我找出了为什么这没用:

  • Oracle数据库必须为11.2.0.4.0或更高版本才能运行(早期版本无法处理SSL / TLS协议)
  • APEX用户(在我的情况下为APEX_040200)必须位于具有“解决”和“连接”特权的ACL列表中。
  • 必须创建一个包含smtp提供程序安全证书的电子钱包。您可以使用orapki命令创建钱包。

注意:所有这些操作必须在“内部”工作空间的“管理实例”>“实例设置”>“电子邮件/钱包”下完成。

如果您在发送电子邮件时遇到麻烦,请确保对使用托管APEX应用程序的服务器配置的电子邮件帐户进行签名,这可能是smtp提供程序的安全/信任问题(gmail和office365极有可能发生) )。

此后,您应该可以使用APEX应用程序配置的电子邮件从中发送交互式报告了。