Oracle APEXと電子メール配信の統合

Oracle APEXを使用して、電子メール配信サービスを介して電子メールを送信します。

電子メール配信を介した電子メール送信のためのOracle APEXの構成

APEX_MAILパッケージを使用して、Autonomous Transaction ProcessingにデプロイされたOracle APEXアプリケーションから電子メールを送信できます。詳細は、トランザクション処理および混合ワークロード用のAutonomous DatabaseおよびAutonomous Databaseのプロビジョニングを参照してください。

重要

これらの手順には、便宜上サンプル・コードが含まれており、参照用として使用する必要があります。クライアント・サポートについては、Oracle APEXカスタマ・サポートに連絡する必要があります。これらのステップは、Oracle Linux Serverリリース7.9のコンピュート・インスタンスでテストされました。

APEX_MAILを使用する前に、APEXインスタンスでOracle Cloud Infrastructure Email Deliveryを構成する必要があります。

Autonomous Transaction ProcessingでAPEXインスタンスのAPEX_MAIL機能を有効にするには:

  1. 電子メール配信用のSMTP接続エンドポイントを指定します。ステップ4で、エンドポイントをAPEXインスタンスのSMTPホストとして構成します。詳細は、SMTP接続の構成を参照してください。
  2. 電子メール配信用のSMTP資格証明を生成します。APEXインスタンスでは、Eメールの送信時に資格証明を使用してEmail Deliveryサーバーでの認証が行われます。詳細は、ユーザーのSMTP資格証明の作成を参照してください。
  3. 電子メール配信用に承認済送信者を作成します。APEX_MAIL.SENDコールで、「送信元」として、アプリケーションの電子メール送信元アドレスとして、またはSMTP_FROMインスタンス・パラメータで、使用するすべての電子メール・アドレスに対して、このステップを完了する必要があります。詳細は、承認済送信者の管理を参照してください。
  4. ノート

    ユーザー名とパスワードを格納し、資格証明オブジェクトを安全に渡してSMTP認証を設定するための資格証明オブジェクトを作成することをお薦めします。詳細は、資格証明オブジェクトを使用したSMTP認証の設定を参照してください。
    または、SQLクライアントを使用して管理ユーザーとしてAutonomous Transaction Processingに接続し、APEX_INSTANCE_ADMIN.SET_PARAMETERを使用して次のSMTPパラメータを構成します:
    • SMTP_HOST_ADDRESS: ステップ1のSMTP接続エンドポイントを指定します。
    • SMTP_USERNAMEステップ2のSMTP資格証明のユーザー名を指定します。
    • SMTP_PASSWORD ステップ2のSMTP資格証明のパスワードを指定します。

    例:

    BEGIN
    	APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_ADDRESS', 'smtp.us-phoenix-1.oraclecloud.com');
    	APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_USERNAME', 'ocid1.user.oc1.username');
    	APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_PASSWORD', 'password');
    	COMMIT;
    END;
    /			
  5. APEX SQLワークショップ、ステップ3の「送信元」として承認済送信者のいずれかを指定するSQLコマンドを使用して、テスト電子メールを送信します。例:

    BEGIN
    	APEX_MAIL.SEND(p_from => 'alice@example.com',
    		       p_to   => 'bob@example.com',
    		       p_subj => 'Email from Oracle Autonomous Database',
    	               p_body => 'Sent using APEX_MAIL');
    END;
    /			
  6. APEXインスタンスで電子メール配信をモニターするには:
    1. APEX管理サービスにサインインします。
    2. 「インスタンスの管理」ページを開きます。
    3. 「メタデータの管理」セクションの「メール・キュー」リンクをクリックします。

      または、SQLクライアントを使用してAPEX_MAIL_QUEUEおよびAPEX_MAIL_LOGビューを問い合せます。