嘗試解決使用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設置電子郵件,以前只能從全部配置的工作環境中完成。任何建議非常感謝。
你配置了ACL嗎?訪問控制列表需要進行配置,以便您可以發送郵件或訪問互聯網。這篇博客中有信息:http://www.dadbm.com/enable-oracle-database-to-send-emails-via-smtp-server/ –