2017-03-08 18 views
0

Oracle APEX5 11gを使用して電子メールを送信する際の問題を解決しようとしています。Oracle 11g APEX5で電子メールを送信できません


SMTPホストアドレス - SMTPサーバーのサーバーアドレスを定義します。インストール時にデフォルトでは、これはlocalhostに設定されています。別のサーバーをSMTPリレーとして使用している場合は、このパラメーターをそのサーバーのアドレスに変更します。

SMTPホストポート - SMTPサーバーがメール要求をリスンするポートを定義します。デフォルト設定は25です。

SMTP認証のユーザー名 - ユーザー名を入力すると、電子メールの送信時にOracle Application Expressが認証します。 Oracle Database 11gリリース2(11.2.0.2)より前のバージョンでは、SMTP認証スキーム「LOGIN」のみがサポートされています。より新しいデータベース・バージョンでは、UTL_SMTPのすべての認証スキームがサポートされています。

SMTP認証パスワード - パスワードを入力すると、電子メールの送信時にOracle Application Expressがパスワードを認証します。 Oracle Database 11gリリース2、リリース11.2.0.2より前のバージョンでは、SMTP認証スキーム「LOGIN」のみがサポートされています。より新しいデータベース・バージョンでは、UTL_SMTPのすべての認証スキームがサポートされています。

SSL/TLSの使用 - Oracle Application Expressは、Oracle Database 11gリリース2(11.2.0.2)以降、セキュアなSMTP接続をサポートしています。オプション:

はい - SMTP通信の前にSSL/TLSとの安全な接続が確立されています。

接続が確立されると、接続がオープンされた直後に、Oracle Application ExpressがSMTPコマンドSTARTTLSを送信します。

いいえ - 非セキュアな接続が開かれています。

デフォルトのメール送信元アドレス - プロビジョニング要求の承認やパスワードのリセットなど、電子メールを生成するタスクの送信元アドレスを定義します。


私はまた、事前12Cは、Oracleの指示に従って、SYSDBAとしてsqlplusをに '接続権限の付与' スクリプトを実行した:


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送信電子メールプロシージャを使用するか、標準のAPEX_MAIL.SEND PL/SQLコードを実行しようとすると、私のSMTPサーバー(GmailまたはBTインターネット)からメールを送信するアプリケーションを取得できません。私が今やっているようにローカルホスト環境を使って私自身のPCから電子メールをセットアップし、すべての設定済みの作業環境からこれを行うだけです。どんなアドバイスも感謝しています。

+0

ACLを設定しましたか?アクセスコントロールリストは、メールを送信したりインターネットにアクセスできるように設定する必要があります。このブログ記事には情報があります:http://www.dadbm.com/enable-oracle-database-to-send-emails-via-smtp-server/ –

答えて

0

最初にACLを作成し、それをあなたのユーザAPEX_050000に割り当てます。

2番目の点は、接続がSSL証明書を使用していることを確認する必要があり、そうである場合は、ウォレットを作成し、適切な証明書(.crt)をインストールして外部smtpから電子メールを送信する必要があります。ここに詳細があります:

​​

関連する問題