ボットをメールに接続する

この記事の対象: SDK v4

Microsoft 365 メール経由でユーザーと通信するようにボットを構成できます。 電子メール アカウントにアクセスするようにボットを構成すると、新しいメールが到着した時にボットはメッセージを受信します。 その後、ボットはメールを使用して応答できます。 たとえば、ユーザーのメール メッセージに応答して、ボットは「Hi!」というメッセージを含むメール返信を送信できます。 ありがとうございます。 今すぐ処理を開始いたします。"

電子メール チャネルは、現時点では Office 365 でのみ動作します。 その他のメール サービスは、現時点ではサポートされていません。

警告

  • セキュリティ上の理由から、Exchange Online では 2022 年 10 月 1 日に基本認証が無効になります。 メール チャネルで、新しい Exchange Online 先進認証モデルがサポートされるようになりました。 基本認証モデルを使用するボットでは、2022 年 10 月の変更後にエラーが発生します。テナント管理者がその日付より前に基本認証を無効にする場合は、以前のバージョン。 詳細については、「基本認証と Exchange Online - 2021 年 9 月の更新」を参照してください。
  • 望まれていない電子メールや承認されていない電子メールを一括送信するボットなどの "スパムボット" の作成は、Bot Framework の倫理規定違反です。

前提条件

Note

個人の電子メール アカウントをボットで使用しないでください。これを行うと、その電子メール アドレスに送信されたすべてのメッセージがボットに転送されます。 その結果、ボットが不適切な応答を送信元に送信する可能性があります。 このため、ボットでは、専用の M365 メール アカウントを使用する必要があります。

先進認証を使用するようにメールを構成する

  1. Azure Portalを開きます。

  2. ボットの [Azure Bot リソース] ブレードを開きます。

  3. 左側のペインで、[チャネル] を選択します。

  4. [メール] を選択して、[メールの構成] ブレードを開きます。

    Configure email settings

    1. [認証の種類][先進認証 (OAUTH)] に設定します。

    2. [メール アドレス] で、ボットの専用の Office 365 メール アカウントを入力します。

    3. [承認] を選択します。

      1. メッセージが表示されたら、メール アカウントにサインインし、読み取り/書き込みアクセス許可を付与し、ボットにアクセス許可を送信します。

      2. 成功すると、ページが開き、検証コードが表示されます。 検証コードをコピーする

        Interaction with validation code

    4. [認証コード] に、先ほどコピーした検証コードを入力します。

    5. メールの構成を終了するには、[適用] をクリックします。

基本認証を使用するようにメールを構成する

Note

  • Microsoft Entra ID に代わるベンダーを使用したフェデレーション認証はサポートされていません。
  • セキュリティ上の理由から、Exchange Online での基本認証の使用は 2022 年 10 月 1 日に無効になっています。 期限前に先進認証を使用するように、すべてのボットを移行する必要があります。
  • Microsoft Exchange Server を使用している場合は、基本認証を使用するようにメールを構成する前に、まず自動検出が有効になっていることを確認してください。
  • ご使用の Office 365 アカウントで MFA が有効になっている場合は、まず所定のアカウントの MFA を無効にしてから、アカウントのメール チャネルの構成を行ってください。 そうでない場合、接続に失敗します。
  1. Azure Portalを開きます。

  2. ボットの [Azure Bot リソース] ブレードを開きます。

  3. 左側のウィンドウで、[チャネル (プレビュー)] を選択して [チャネル] ブレードを開きます。

  4. [メール] を選択して、[メールの構成] ブレードを開きます。

    Enter email credentials

    1. [認証の種類][基本認証] に設定します (2022 年 10 月から無効になります)。
    2. [メール アドレス] で、ボットの専用の Office 365 メール アカウントを入力します。
    3. [パスワード] に、メール アカウントのパスワードを入力します。
    4. メールの構成を終了するには、[適用] をクリックします。

メールをカスタマイズする

メール チャネルは、アクティビティ 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 プロパティの詳細については、「カスタム メール メッセージを作成する」を参照してください。

トラブルシューティング

アプリケーションへの同意の処理中に発生する可能性があるエラーについては、「Microsoft Entra ID アプリケーションの同意エクスペリエンスについて」および「アプリケーションへの同意を実行するときに予期しないエラーが発生する」を参照してください。

お客様のボットが、受信電子メール メッセージへの応答として 15 秒内に 200 OK の HTTP 状態コードを返さない場合、電子メール チャネルはメッセージを再送信しようとするため、お客様のボットは同じメール メッセージ アクティビティを数回受け取る可能性があります。 詳細については、「How bots work (ボットのしくみ)」の「HTTP details (HTTP の詳細)」セクション、および「タイムアウト エラーのトラブルシューティング」に関する記事を参照してください。

その他のリソース