連線 Bot 傳送電子郵件

適用于: SDK v4

您可以將 Bot 設定為透過 Microsoft 365 電子郵件與使用者通訊。 當您將 Bot 設定為存取電子郵件帳戶時,它會在新的電子郵件送達時收到訊息。 接著,Bot 可以使用電子郵件來回應。 例如,在回應使用者的電子郵件訊息時,Bot 可以傳送電子郵件回復訊息:「嗨! 感謝您的訂單! 我們將立即開始處理它。

電子郵件頻道目前僅適用于 Office 365。 目前不支援其他電子郵件服務。

警告

  • 基於安全性考慮,Exchange Online 將于 2022 年 10 月 1 日停用 基本驗證 。 電子郵件通道現在支援新的 Exchange Online 新式驗證 模型。 使用基本驗證模型的 Bot 會在 2022 年 10 月變更後遇到失敗;如果您的租使用者系統管理員在該日期之前停用基本驗證,或更早版本。 如需詳細資訊,請參閱 基本驗證和 Exchange Online - 2021 年 9 月更新
  • 違反 Bot Framework 行為規範 來建立「spambots」,包括傳送垃圾或未經請求大量電子郵件的 Bot。

必要條件

注意

您不應該針對 Bot 使用自己的個人電子郵件帳戶,因為傳送至該電子郵件帳戶的每個訊息都會轉寄給 Bot。 這可能會導致 Bot 不適當地將回應傳送給寄件者。 基於這個理由,Bot 應該只使用專用的 M365 電子郵件帳戶。

設定電子郵件以使用新式驗證

  1. 開啟 Azure 入口網站

  2. 開啟 Bot 的 [Azure Bot 資源] 刀鋒視窗。

  3. 在左窗格中,選取 [通道 ]。

  4. 選取 [電子郵件 ] 以開啟 [ 設定電子郵件] 刀鋒視窗。

    Configure email settings

    1. 將 [驗證類型 ] 設定 [新式驗證] [OAUTH]。

    2. [電子郵件地址 ] 中,輸入 Bot 專用的 Office 365 電子郵件帳戶。

    3. 選取授權

      1. 出現提示時,請登入電子郵件帳戶,並將讀取/寫入和傳送許可權授與 Bot。

      2. 成功時,頁面會以驗證程式代碼開啟。 複製驗證碼。

        Interaction with validation code

    4. 在 [ 驗證碼 ] 中,輸入您剛才複製的驗證碼。

    5. 選取 [ 套用 ] 以完成電子郵件設定。

設定電子郵件以使用基本驗證

注意

  • 不支援使用任何取代 Microsoft Entra ID 的廠商進行同盟驗證。
  • 基於安全性考慮,Exchange Online 中基本驗證 的使用 已于 2022 年 10 月 1 日停用。 您應該將所有 Bot 移轉為在期限前使用 新式驗證
  • 如果您使用 Microsoft Exchange Server,請先確定您已先啟用 自動探索 ,再設定電子郵件以使用基本驗證。
  • 如果您使用已啟用 MFA 的 Office 365 帳戶,請務必先停用指定帳戶的 MFA;然後您可以設定電子郵件通道的帳戶。 否則,連線將會失敗。
  1. 開啟 Azure 入口網站

  2. 開啟 Bot 的 [Azure Bot 資源] 刀鋒視窗。

  3. 在左窗格中,選取 [通道][預覽] 以開啟 [通道] 刀鋒視窗。

  4. 選取 [電子郵件 ] 以開啟 [ 設定電子郵件] 刀鋒視窗。

    Enter email credentials

    1. 將 [驗證類型 ] 設定 [基本驗證] (停用 2022 年 10 月的星號)。
    2. [電子郵件地址 ] 中,輸入 Bot 專用的 Office 365 電子郵件帳戶。
    3. 在 [ 密碼 ] 中,輸入電子郵件帳戶的密碼。
    4. 選取 [ 套用 ] 以完成電子郵件設定。

自訂電子郵件

電子郵件通道支援傳送自訂值,以使用活動 channelData 屬性建立更進階的自訂電子郵件。 下列程式碼片段顯示從 Bot 到使用者之傳入自訂電子郵件訊息的 範例 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 應用程式同意體驗 對應用程式 執行同意時發生非預期的錯誤。

如果您的 Bot 在 15 秒內未傳回 200 OK HTTP 狀態碼,以回應內送電子郵件訊息,電子郵件通道會嘗試重新傳送訊息,而您的 Bot 可能會收到相同的電子郵件訊息活動數次。 如需詳細資訊,請參閱 Bot 的運作 方式和 疑難排解逾時錯誤 一文中的 HTTP 詳細 資料一節。

其他資源