Autonomous AI Databaseでの電子メールおよび通知の送信
自律型AIデータベースに電子メールを送信するためのオプションが多数あります。Slackチャネル、MSTeamsまたはOCI通知トピックに通知を送信することもできます。
- 自律型AIデータベースで電子メールを送信
自律型AIデータベースに電子メールを送信するためのオプションがいくつかあります。テキスト・メッセージまたはSQL問合せの出力をSlackまたはMSTeamsチャネルに送信することもできます。 - Autonomous AI DatabaseからのSlack通知の送信
Autonomous AI DatabaseからSlackチャネルに問合せのメッセージ、アラートまたは出力を送信できるようにSlackを構成する方法について説明します。また、Slack通知の送信に使用する手順についても説明します。 - Autonomous AI DatabaseからOCI通知サービスへのメッセージの送信
Autonomous AI DatabaseからOCI通知サービス・トピックにメッセージを送信する方法について説明します。 - OAuth2を使用してMicrosoft ExchangeでAutonomous AI Databaseから電子メールを送信
Oracle Autonomous AI Databaseでは、OAuth 2.0を利用してMicrosoft Exchangeを通じて電子メールを送信できます。 - Autonomous AI DatabaseからのMicrosoft Teams通知の送信
Autonomous AI DatabaseからMicrosoft Teamsチャネルに問合せのメッセージ、アラートまたは出力を送信できるようにMicrosoft Teamsを構成する方法について説明します。また、Microsoft Teams通知の送信に使用する手順についても説明します。
親トピック: 開発
OAuth2を使用して、Microsoft ExchangeでAutonomous AI Databaseから電子メールを送信
Oracle Autonomous AI Databaseでは、OAuth 2.0を利用してMicrosoft Exchangeを通じて電子メールを送信できます。
OAuth2を使用するには、まずAzureにアプリケーションを登録し、正しいAPI権限を割り当て、アプリケーションのシークレットを作成し、Autonomous AI Databaseに資格証明オブジェクトを作成する必要があります。構成後、DBMS_CLOUD_NOTIFICATIONを介してメッセージを送信できます。
DBMS_CLOUD_NOTIFICATIONを使用して電子メールを送信するステップ:
- Microsoft Entra (Azure AD)へのアプリケーションの登録:
Azureポータルで、新しいアプリケーション登録を作成し、「アプリケーション(クライアント) ID」および「AzureテナントID」をメモします。詳細は、アプリケーションの登録に関するMicrosoftのガイダンスを参照してください。
- アプリケーションのクライアント資格証明にシークレットを作成します:
電子メールを送信できる登録済アプリケーションとしてデータベースを識別するために使用されるセキュアな資格証明オブジェクトをデータベースに作成するには、クライアントIDおよびクライアント・シークレットが必要です。
- "Mail.Send "permission and grant admin consent"を追加:
Azureの「API権限」で、「Mail.Send」アプリケーション権限をMicrosoft Graphに追加し、管理者に同意を付与してもらいます。
これで、MS Exchange環境の有効な電子メール・アカウントとともに
DBMS_CLOUD_NOTIFICATIONパッケージを使用して電子メールを送信するように環境が設定されました。
電子メールを送信しています
有効な電子メール・アカウントを使用してプロバイダ属性をemailに設定し、電子メールを送信するために信頼できるアプリケーションとして登録されたクライアントIDまたはシークレットを持つ資格証明を使用して、DBMS_CLOUD_NOTIFICATION.SEND_MESSAGEを使用します。
- クライアントIDおよびシークレットを格納する資格証明を作成する必要があります:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'MS_TOKEN', username => '<client_id>', password => '<client_secret>' ); END; / - クライアント資格証明フローを使用して電子メールを送信します。
BEGIN DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE( provider => 'email', credential_name => 'MS_TOKEN', message => 'Message content', params => json_object( 'recipient' value 'recipient@example.com', 'subject' value 'Test subject', 'smtp_host' value 'smtp.office365.com', 'sender' value 'sender@xyz.com', 'tenant' value '<azure_tenant_id>' ) ); END; /
トラブルシューティング
- ポート接続: SMTP接続にはアウトバウンドTCPポート587が必要です。
ORA‑29278: SMTP transient error: 421 Service not availableを受信した場合は、ネットワークACLでsmtp.office365.com:587へのアウトバウンド接続が許可されていることを確認します。 - 権限なし: アプリケーションに管理者の同意が付与されていないか、サービス・プリンシパルがExchangeに登録されていない場合に、認証の失敗が頻繁に発生します。権限を付与するステップを再確認し、サービス・プリンシパルを登録します。
- SMTP AUTH disabled: トークンの取得後に認証できない場合は、
SMTP AUTHがメールボックスに対して有効になっており、グローバルに無効になっていないことを確認してください。
-
- [Authenticating IMAP、 POP and SMTP using OAuthAuthenticating IMAP、 POP and SMTP using OAuth]に関するMicrosoftのドキュメント。
- [OAuth 2.0認可コード・フロー]に関するMicrosoft Learnの記事。
- 「SMTP AUTHEnabling or disabled SMTP AUTH」の Microsoft Learn記事。