ノート:

DBMS_CLOUD_NOTIFICATIONパッケージを使用して、Oracle Autonomous Databaseから電子メールを送信します

イントロダクション

Oracle Autonomous Databaseは、エラスティックにスケーリングされ、高速な問合せパフォーマンスを発揮する使いやすい完全自律型データベースです。サービスとして、Autonomous Databaseは、データベース管理を必要としません。

Oracle Autonomous Databaseでは、メッセージおよび問合せ結果を電子メールとして送信するためのDBMS_CLOUD_NOTIFICATIONパッケージがサポートされています。このパッケージでは、パブリックSMTPエンドポイントにのみ電子メールを送信できます。

ノート: 現在サポートされている電子メール・プロバイダは、Oracle Cloud Infrastructure (OCI) Email Deliveryサービスのみです。

目的

DBMS_CLOUD_NOTIFICATIONパッケージを使用してOracle Autonomous Databaseから電子メールとして問合せのメッセージおよび出力を送信する場合。

前提条件

タスク1: SMTP接続の識別と構成

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「電子メール配信」をクリックします。

  2. 「リソース」メニューで、「構成」をクリックします。

    構成

    • パブリック・エンドポイント: このリージョンで、電子メールの送信先に使用されるパブリック・エンドポイント。

    • SMTPポート: 電子メールの受入れに使用されるSMTPポート。Email Deliveryは、ポート25または587でTLSをサポートしています。

    • セキュリティ: このフィールドは、電子メール送信時の暗号化を実行する標準的な手段であるTLSを使用しているかどうかを示します。Oracle Cloud Infrastructure Email Deliveryサービスに送信中に、ユーザーが電子メールを暗号化する必要があります。暗号化Eメールは、転送中に読取りされないように保護されます。

タスク2: 電子メール配信用のSMTP資格証明の生成

  1. ユーザーの詳細を表示します。

    • 自分のSMTP資格証明を生成する場合:「プロファイル」メニューを開き、「ユーザー設定」またはアカウント名をクリックします。
    • 管理者が別のユーザーのSMTP資格証明を生成する場合: ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。リストでユーザーを検索し、ユーザー名をクリックして詳細を表示します。
  2. 「SMTP資格証明」をクリックします。

  3. 「SMTP資格証明の生成」をクリックします。

  4. ダイアログ・ボックスにSMTP資格証明の説明を入力します。

  5. 「SMTP資格証明の生成」をクリックします。次のようなユーザー名とパスワードが表示されます。

    資格証明

タスク3: 電子メール配信の承認済送信者の作成

電子メール配信に使用する送信者電子メール・アドレスを登録します。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「電子メール配信」をクリックします。「電子メール配信」で、「承認済送信者」をクリックします。適切なコンパートメントを使用していることを確認してください。このコンパートメントで承認送信者を管理する権限を持つグループにユーザーが存在している必要があります。

  2. 「承認済送信者」ページで、「承認済送信者」をクリックします。

  3. 「承認済送信者の作成」ダイアログ・ボックスで、次の情報を指定します:

    • 承認済送信者としてリストする電子メール・アドレスを入力します。
    • (オプション)タグを追加してリソースを編成します。定義済タグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか(後でタグを適用できます)、管理者に問い合せてください。
  4. 「承認済送信者の作成」をクリックします。

  5. 電子メール・アドレスが承認済送信者リストに追加されます。

    送信者

ノート:

タスク4: Oracle Autonomous Databaseからの電子メールとしてのメッセージの送信

  1. Oracle Autonomous Databaseのプロビジョニング: 「詳細」ページに移動し、「データベース・アクション」をクリックします。データベース・アクションのサインイン・ページが開きます。データベース・インスタンスのデフォルトの管理者アカウント「ユーザー名- admin」を使用して、「次」をクリックします。「データベース・アクション」ページが開きます。「開発」ボックスで、「SQL」をクリックします。

    DBアクション

  2. 資格証明オブジェクトを作成し、DBMS_CLOUD_NOTIFICATION.SEND_MESSAGEを使用してメッセージを電子メールとして送信します。次のコード・スニペットをコピーして、SQLワークシートに貼り付けます。

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
            credential_name => 'test',
            username        => 'username',
            password        => '************'
       );
       END;
    /
    BEGIN
       DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
            provider        => 'email',
            credential_name => 'test',
            message         => 'This message is to confirm that you have received an email from Autonomous Database',
            params          => json_object('recipient' value  '************',
                                           'to_cc'  value '************',
                                           'to_bcc' value ‘************’,
                                           'subject' value 'Test email',
                                           'smtp_host' value 'smtp.email.us-phoenix-1.oci.oraclecloud.com',
                                           'sender'    value  'send.email@test.com' )
       );
       END;
    /
    

    paramsパラメータを使用して、CCまたはBCCの送信者、smtp_host、件名、受信者、および受信者を string値で指定します。

    • sender: 承認された送信者の電子メールID
    • smtp_host: SMTPホスト名
    • subject: 電子メールの件名
    • recipient: 受信者の電子メールID
    • to_cc: 電子メールのCCを受信する電子メールID
    • to_bcc: EメールのBCCを受信するEメールID
  3. 「文の実行」ボタンをクリックして、SQLワークシートで実行してください。

    メッセージの送信

プロシージャが正常に完了すると、電子メールが届きます。

Eメール・メッセージ

タスク5: 問合せ結果をOracle Autonomous Databaseからの電子メールとして送信

  1. DBMS_CLOUD_NOTIFICATIONパッケージを使用して、問合せの結果を電子メールとして送信できます。たとえば、DBMS_CLOUD_NOTIFICATION.SEND_MESSAGEを使用して、問合せの出力(SELECT tablespace_name FROM dba_tablespaces;)を含むメッセージを電子メールとして送信します。次のコード・スニペットをコピーして、SQLワークシートに貼り付けます。

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
            credential_name => 'test',
            username        => ‘username’
            password        => '************'
       );
       END;
    /
    BEGIN
       DBMS_CLOUD_NOTIFICATION.SEND_DATA(
            provider        => 'email',
            credential_name => 'test',
            query           => 'SELECT tablespace_name FROM dba_tablespaces',
            params          => json_object('recipient' value  '************',
                                           'to_cc'  value '****************',
                                           'to_bcc' value '****************',
                                           'subject' value 'Tablespace Report',
                                           'type' value 'json',
                                           'title' value 'Tablespace report',
                                           'message' value 'Here is the tablespace report',
                                           'smtp_host' value 'smtp.email.us-phoenix-1.oci.oraclecloud.com',
                                           'sender'    value  'send.email@test.com' )
       );
       END;
    /
    
  2. 「文の実行」ボタンをクリックして、SQLワークシートで実行してください。

    データ送信

プロシージャが正常に完了すると、電子メールが届きます。

Eメールの問合せ

次のステップ

DBMS_CLOUD_NOTIFICATIONパッケージがOracle Autonomous Databaseでサポートされるようになり、このパッケージを使用して電子メールを送信する方法がわかりました。Email DeliveryまたはOracle Autonomous DatabaseのDBMS_CLOUD_NOTIFICATIONについてさらに学習する場合は、Oracle Autonomous Databaseのドキュメントを参照してください。

謝辞

その他の学習リソース

docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。