1. 네트워크 서비스 보안 설정
메시지가 발생할 수 있습니다 오라클 11gR2 버전은 보내지 못했습니다 (ORA-24247를 : 액세스 제어 목록 (ACL)에 의해 거부 네트워크 액세스) 또는 전자 메일이 전송되지 않습니다. 11g는보다 엄격한 웹 서비스 보안 제어 ACL을 (액세스 제어 목록), 다음 코드를 실행, SYSDBA 사용자 로그인을 사용할 수 있습니다 사용합니다 :
시작 dbms_network_acl_admin.create_acl을 ( ACL => 'networkacl.xml' 설명 => '허용 네트워크 연결', 교장 => 'PUBLIC', is_grant => TRUE, 권한 => '연결', START_DATE => SYSTIMESTAMP, 종료일 => 없는); dbms_network_acl_admin.assign_acl ( ACL => 'networkacl.xml' 호스트 => '*' lower_port => NULL, upper_port => NULL); 범하다; 종료;
또한 다음 주소를 참조 보웬 : https://blog.csdn.net/apextrace/article/details/8518022
2. 구성 에이펙스 메일 관리
3. 메일을 보내려면 다음 코드를 실행
DECLARE l_body CLOB; BEGIN l_body := '邮件内容 Hello Apex'; apex_mail.send( p_to => '[email protected]', --收件者 p_from => '[email protected]', -- 发送者 p_body => l_body, p_subj => '邮件主题 hello'); END;
完
提示:如果你以上步骤都设置无误,但还是发不出去,有可能设置的其他项影响的。
用 sys 账号执行下列代码
SELECT * FROM dba_network_acls;
如果查询出多行,请把其他多的删除,删除代码如下:
--删除多余的 BEGIN DBMS_NETWORK_ACL_ADMIN.drop_acl(acl => 'network_services.xml'); COMMIT; END;
network_services.xml 对应 ACL 列,杠(/)后的内容。
如果删除自己在步骤1添加的内容,请执行下列代码:
BEGIN
DBMS_NETWORK_ACL_ADMIN.drop_acl(acl => 'networkacl.xml');
COMMIT;
END;
再次提示:如果还是不能发送,请检查防火墙配置