適用対象: SDK v4
Microsoft 365 メール経由でユーザーと通信するようにボットを構成できます。 電子メール アカウントにアクセスするようにボットを構成すると、新しい電子メールが届いたときにメッセージが受信されます。 その後、ボットは電子メールを使用して応答できます。 たとえば、ユーザーの電子メール メッセージに応答して、ボットが「Hi!」というメッセージを含むメール返信を送信することができます。 ご注文いただき、ありがとうございます。 すぐに処理を開始します。
現在、メール チャネルは Office 365 でのみ機能します。 その他の電子メール サービスは現在サポートされていません。
Warnung
- セキュリティ上の理由から、Exchange Online では 2022 年 10 月 1 日に 基本認証 が無効になります。 電子メール チャネルで、新しい Exchange Online 先進認証モデルが サポートされるようになりました。 基本認証モデルを使用するボットは、2022年10月の変更後にエラーが発生します。また、もしテナント管理者がその日付以前に基本認証を無効にした場合は、さらに早くエラーが発生する可能性があります。 詳細については、「 基本認証と Exchange Online - 2021 年 9 月の更新プログラム」を参照してください。
- 望ましくないメールや迷惑メールを送信するボットを含む、"スパムボット" を作成することは、Bot Framework の行動規範 に違反しています。
[前提条件]
- Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
- ボット用の専用の Office 365 電子メール アカウント。
- ボットに
Mail.ReadWriteとMail.Sendアクセスを許可するアクセス許可。 詳細については、「 Microsoft Entra ID アプリケーションの同意エクスペリエンスについて」を参照してください。
注
ボットに対して独自の個人用メール アカウントを使用しないでください。そのメール アカウントに送信されるすべてのメッセージがボットに転送されるためです。 これにより、ボットが送信者に不適切な応答を送信する可能性があります。 このため、ボットでは専用の M365 メール アカウントのみを使用する必要があります。
先進認証を使用するように電子メールを構成する
Azure Portalを開きます。
ボットの Azure Bot リソース ブレードを開きます。
左側のウィンドウで、[チャネル] を選択 します。
[ 電子メール ] を選択して[ 電子メールの構成] ブレードを開きます。
認証の種類を先進認証 (OAUTH) に設定します。
[電子メール アドレス] に、ボットの専用の Office 365 メール アカウントを入力します。
[承認] を選択します。
メッセージが表示されたら、電子メール アカウントにサインインし、読み取り/書き込みアクセス許可を付与し、ボットにアクセス許可を送信します。
成功すると、ページが開き、検証コードが表示されます。 検証コードをコピーします。
[認証コード] に、先ほどコピーした検証コードを入力します。
[ 適用] を選択して、電子メールの構成を完了します。
基本認証を使用するように電子メールを構成する
注
- Microsoft Entra ID を置き換えるベンダーを使用したフェデレーション認証はサポートされていません。
- セキュリティ上の理由から、Exchange Online での 基本認証 の使用は 2022 年 10 月 1 日に無効になっています。 期限前に 先進認証 を使用するように、すべてのボットを移行する必要があります。
- Microsoft Exchange Server を使用する場合は、基本認証を使用するように電子メールを構成する前に、 自動検出 を最初に有効にしていることを確認してください。
- MFA が有効になっている Office 365 アカウントを使用している場合は、最初に指定したアカウントの MFA を無効にしてください。その後、電子メール チャネルのアカウントを構成できます。 それ以外の場合、接続は失敗します。
Azure Portalを開きます。
ボットの Azure Bot リソース ブレードを開きます。
左側のウィンドウで、[ チャネル (プレビュー)] を選択して [ チャネル ] ブレードを開きます。
[ 電子メール ] を選択して[ 電子メールの構成] ブレードを開きます。
- [認証の種類] を [基本認証] に設定します (2022年10月から無効化されます)。
- [電子メール アドレス] に、ボットの専用の Office 365 メール アカウントを入力します。
- [ パスワード] に、メール アカウントのパスワードを入力します。
- [ 適用] を選択して、電子メールの構成を完了します。
電子メールをカスタマイズする
電子メール チャネルでは、アクティビティ channelData プロパティを使用して、より高度でカスタマイズされた電子メールを作成するためのカスタム値の送信がサポートされています。
次のスニペットは、ボットからユーザーへの受信カスタム 電子メール メッセージの channelData の例を示しています。
{
"type": "ActivityTypes.Message",
"locale": "en-Us",
"channelID": "email",
"fromName": { "id": "mybot@mydomain.com", "name": "My bot"},
"recipientName": { "id": "joe@otherdomain.com", "name": "Joe Doe"},
"conversation": { "id": "123123123123", "topic": "awesome chat" },
"channelData":
{
"htmlBody": "<html><body style = \"font-family: Calibri; font-size: 11pt;\" >This is more than awesome.</body></html>",
"importance": "high",
"ccRecipients": "Yasemin@adatum.com;Temel@adventure-works.com",
}
}
アクティビティ channelData プロパティの詳細については、「 カスタム電子メール メッセージを作成する」を参照してください。
Troubleshoot
アプリケーションへの同意の処理中に発生する可能性があるエラーについては、「 Microsoft Entra ID アプリケーションの同意エクスペリエンス について」および「アプリケーション への同意を実行するときに予期しないエラーが発生する」を参照してください。
ボットが受信メール メッセージに応答して 15 秒以内に 200 OK HTTP 状態コードを返さない場合、電子メール チャネルはメッセージの再送信を試み、ボットは同じ電子メール メッセージ アクティビティを数回受信する可能性があります。 詳細については、ボットのしくみとトラブルシューティング タイムアウト エラーに関する記事の HTTP の詳細セクションを参照してください。
その他のリソース
- ボットをチャネルに接続する
- Bot Framework SDK for .NET を使用してチャネル固有の機能を実装する
- 各チャネルでサポートされている機能の詳細については、 チャネルのリファレンス 記事を参照してください