ノート:
- このチュートリアルではOracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructure資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了する場合は、これらの値をクラウド環境に固有の値に置き換えてください。
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から電子メールとして問合せのメッセージおよび出力を送信する場合。
前提条件
- Oracle Cloudアカウントにログインします。
- コンパートメントにAutonomous Database (ADB-S)を作成します。
タスク1: SMTP接続の識別と構成
-
ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「電子メール配信」をクリックします。
-
「リソース」メニューで、「構成」をクリックします。
-
パブリック・エンドポイント: このリージョンで、電子メールの送信先に使用されるパブリック・エンドポイント。
-
SMTPポート: 電子メールの受入れに使用されるSMTPポート。Email Deliveryは、ポート25または587でTLSをサポートしています。
-
セキュリティ: このフィールドは、電子メール送信時の暗号化を実行する標準的な手段であるTLSを使用しているかどうかを示します。Oracle Cloud Infrastructure Email Deliveryサービスに送信中に、ユーザーが電子メールを暗号化する必要があります。暗号化Eメールは、転送中に読取りされないように保護されます。
-
タスク2: 電子メール配信用のSMTP資格証明の生成
-
ユーザーの詳細を表示します。
- 自分のSMTP資格証明を生成する場合:「プロファイル」メニューを開き、「ユーザー設定」またはアカウント名をクリックします。
- 管理者が別のユーザーのSMTP資格証明を生成する場合: ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。リストでユーザーを検索し、ユーザー名をクリックして詳細を表示します。
-
「SMTP資格証明」をクリックします。
-
「SMTP資格証明の生成」をクリックします。
-
ダイアログ・ボックスにSMTP資格証明の説明を入力します。
-
「SMTP資格証明の生成」をクリックします。次のようなユーザー名とパスワードが表示されます。
タスク3: 電子メール配信の承認済送信者の作成
電子メール配信に使用する送信者電子メール・アドレスを登録します。
-
ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「電子メール配信」をクリックします。「電子メール配信」で、「承認済送信者」をクリックします。適切なコンパートメントを使用していることを確認してください。このコンパートメントで承認送信者を管理する権限を持つグループにユーザーが存在している必要があります。
-
「承認済送信者」ページで、「承認済送信者」をクリックします。
-
「承認済送信者の作成」ダイアログ・ボックスで、次の情報を指定します:
- 承認済送信者としてリストする電子メール・アドレスを入力します。
- (オプション)タグを追加してリソースを編成します。定義済タグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか(後でタグを適用できます)、管理者に問い合せてください。
-
「承認済送信者の作成」をクリックします。
-
電子メール・アドレスが承認済送信者リストに追加されます。
ノート:
タスク4: Oracle Autonomous Databaseからの電子メールとしてのメッセージの送信
-
Oracle Autonomous Databaseのプロビジョニング: 「詳細」ページに移動し、「データベース・アクション」をクリックします。データベース・アクションのサインイン・ページが開きます。データベース・インスタンスのデフォルトの管理者アカウント「ユーザー名- admin」を使用して、「次」をクリックします。「データベース・アクション」ページが開きます。「開発」ボックスで、「SQL」をクリックします。
-
資格証明オブジェクトを作成し、
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
-
「文の実行」ボタンをクリックして、SQLワークシートで実行してください。
プロシージャが正常に完了すると、電子メールが届きます。
タスク5: 問合せ結果をOracle Autonomous Databaseからの電子メールとして送信
-
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; /
-
「文の実行」ボタンをクリックして、SQLワークシートで実行してください。
プロシージャが正常に完了すると、電子メールが届きます。
次のステップ
DBMS_CLOUD_NOTIFICATIONパッケージがOracle Autonomous Databaseでサポートされるようになり、このパッケージを使用して電子メールを送信する方法がわかりました。Email DeliveryまたはOracle Autonomous DatabaseのDBMS_CLOUD_NOTIFICATIONについてさらに学習する場合は、Oracle Autonomous Databaseのドキュメントを参照してください。
関連リンク
- Autonomous Databaseでの電子メール配信サービスによる電子メールの送信
- プライベート・エンドポイントでの電子メール・プロバイダによる電子メールの送信
- Autonomous DatabaseからのSlack通知の送信
- Autonomous DatabaseからのMicrosoft Teams通知の送信
謝辞
- 作成者 - Priya Dhuriya氏(シニア・ソリューション・エンジニア)
その他の学習リソース
docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Use the DBMS_CLOUD_NOTIFICATION package to send an email from Oracle Autonomous Database
F85877-01
August 2023
Copyright © 2023, Oracle and/or its affiliates.