機械翻訳について

Oracle APEXから電子メールを送信

APEX_MAILパッケージを使用して、Autonomous DatabaseにデプロイされたOracle APEXアプリケーションから電子メールを送信できます。

APEX_MAILを使用する前に、Oracle APEXインスタンスに電子メール・プロバイダを構成する必要があります。 サポートされている電子メール・プロバイダは、Oracle Cloud Infrastructureの電子メール配信サービスのみです。

ノート:

サードパーティの電子メール・プロバイダはサポートされていません。

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

  1. 電子メール配信用のSMTP接続エンドポイントを指定します。 エンドポイントは、ステップ4でAPEXインスタンスのSMTPホストとして構成します。 現在のリージョンで電子メール配信を使用できない場合は、追加のOracle Cloud Infrastructureリージョンをサブスクライブする必要がある場合があります。 詳細は、「SMTP接続の構成」を参照してください。
  2. 電子メール配信用のSMTP資格証明の生成。 APEXインスタンスは、電子メールの送信時に資格証明を使用して電子メール配信サーバーで認証します。 詳細は、「ユーザーのSMTP資格証明の生成」を参照してください。
  3. eメール配信の承認済送信者を作成します。 APEX_MAIL.SENDコールで、アプリケーションの電子メール送信元アドレスまたはSMTP_FROMインスタンス・パラメータとして使用するすべての電子メール・アドレスについて、このステップを完了する必要があります。 詳細は、「承認済送信者の管理」を参照してください。
  4. SQLクライアントを使用してAutonomous DatabaseにADMINユーザーとして接続し、APEX_INSTANCE_ADMIN.SET_PARAMETERを使用して次のSMTPパラメータを構成します:
    • SMTP_HOST_ADDRESS: ステップ1からSMTP接続エンドポイントを指定します。
    • SMTP_USERNAME: ステップ2でSMTP資格証明のユーザー名を指定します。
    • SMTP_PASSWORD: ステップ2でSMTP資格証明のパスワードを指定します。
    • SMTP_HOST_PORTパラメータ(587)および SMTP_TLS_MODEパラメータ(STARTTLS)のデフォルト値を保持します。
    たとえば:
    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. SQLクライアントを使用して電子メール構成設定を検証します。
    BEGIN
        APEX_INSTANCE_ADMIN.VALIDATE_EMAIL_CONFIG;
    END;
    /

    "ORA-29279: SMTP permanent error: 535 Authentication credentials invalid"などのエラーが報告された場合、SMTPパラメータを調整し、検証ステップを繰り返します。

  6. APEX SQLワークショップを使用してテスト電子メールを送信します。ステップ3の承認済送信者のいずれかを送信者に指定します。 たとえば:
    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;
    /
  7. APEXインスタンスで電子メール配信を監視するには:
    1. APEX管理サービスにサインインします。
    2. 「インスタンスの管理」ページを開きます。
    3. 「メタデータの管理」セクションのメール・キュー・リンクをクリックします。
    または、SQLクライアントを使用して、APEX_MAIL_QUEUEおよびAPEX_MAIL_LOGビューを問い合せます。

ノート:

24時間に、ワークスペース当たりデフォルトの電子メール制限は5,000通です。 Oracle APEX管理サービスでこの制限を更新または削除するか、WORKSPACE_EMAIL_MAXIMUMインスタンス・パラメータを設定できます。 Oracle Cloud Infrastructureの電子メール配信には追加の制限がある場合があります。

承認済送信者は、Oracle Cloud Infrastructureを介してメールを送信するすべての送信者アドレスに対して設定する必要があります。そうしないと、メールが拒否されます。 Oracle Cloud Infrastructure Email Deliveryでの承認済送信者には制限があります。 詳細については、「承認済送信者の管理」を参照してください。

詳細は、次を参照してください。