APEX_MAIL
パッケージを使用して、Autonomous DatabaseにデプロイされたOracle APEXアプリケーションから電子メールを送信できます。
APEX_MAIL
を使用する前に、Oracle APEXインスタンスで電子メール・プロバイダを構成する必要があります。サポートされている電子メール・プロバイダは、Oracle Cloud Infrastructure Email Deliveryサービスのみです。
ノート
サードパーティの電子メール・プロバイダはサポートされていません。
Autonomous DatabaseのAPEXインスタンスでAPEX_MAIL
機能を有効にするには:
- 電子メール配信用のSMTP接続エンドポイントを指定します。ステップ4で、エンドポイントをAPEXインスタンスのSMTPホストとして構成します。現在のリージョンで電子メール配信を使用できない場合は、追加のOracle Cloud Infrastructureリージョンをサブスクライブする必要がある可能性があります。詳細は、SMTP接続の構成を参照してください。
- 電子メール配信用のSMTP資格証明を生成します。APEXインスタンスでは、Eメールの送信時に資格証明を使用してEmail Deliveryサーバーでの認証が行われます。詳細は、ユーザーに対するSMTP資格証明の生成を参照してください。
- 電子メール配信の承認済送信者を作成します。
APEX_MAIL.SEND
コールで「送信元」として使用するすべての電子メール・アドレス、アプリケーションのアプリケーション電子メール送信元アドレスとして、またはSMTP_FROM
インスタンス・パラメータで、このステップを完了する必要があります。詳細は、承認済送信者の管理を参照してください。
- SQLクライアントを使用してADMINユーザーでAutonomous Databaseに接続し、
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;
/
- SQLクライアントを使用して電子メール構成設定を検証します。
BEGIN
APEX_INSTANCE_ADMIN.VALIDATE_EMAIL_CONFIG;
END;
/
エラーがレポートされた場合は("ORA-29279: SMTP permanent error: 535 Authentication credentials invalid"
など)、SMTPパラメータを調整して検証ステップを繰り返します。
- APEX SQLワークショップを使用して、テスト電子メールを送信します。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;
/
- APEXインスタンスで電子メール配信をモニターするには:
- APEX管理サービスにサインインします。
- 「インスタンスの管理」ページを開きます。
- 「メタデータの管理」セクションの「メール・キュー」リンクをクリックします。
または、SQLクライアントを使用してAPEX_MAIL_QUEUE
およびAPEX_MAIL_LOG
ビューを問い合せます。
ノート
24時間の期間のワークスペースごとに、5,000の電子メールのデフォルト制限があります。この制限を更新または削除するには、Oracle APEX管理サービスで、またはWORKSPACE_EMAIL_MAXIMUM
インスタンス・パラメータを設定します。Oracle Cloud Infrastructure Email Deliveryでは、追加の制限が適用される場合があります。
承認済送信者は、Oracle Cloud Infrastructureを介してメールを送信するすべての「送信元: 」アドレスに対して設定する必要があります。そうしないと、メールが拒否されます。Oracle Cloud Infrastructure Email Deliveryでの承認送信者には制限があります。詳細は、承認済送信者の管理を参照してください。
詳細は、次を参照してください: