連線 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。
必要條件
- 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
- Bot 專用的 Office 365 電子郵件帳戶。
- 授與 Bot
Mail.ReadWrite
和Mail.Send
存取權的許可權。 如需詳細資訊,請參閱 瞭解 Microsoft Entra ID 應用程式同意體驗 。
注意
您不應該針對 Bot 使用自己的個人電子郵件帳戶,因為傳送至該電子郵件帳戶的每個訊息都會轉寄給 Bot。 這可能會導致 Bot 不適當地將回應傳送給寄件者。 基於這個理由,Bot 應該只使用專用的 M365 電子郵件帳戶。
設定電子郵件以使用新式驗證
開啟 Azure 入口網站。
開啟 Bot 的 [Azure Bot 資源] 刀鋒視窗。
在左窗格中,選取 [通道 ]。
選取 [電子郵件 ] 以開啟 [ 設定電子郵件] 刀鋒視窗。
將 [驗證類型 ] 設定 為 [新式驗證] [OAUTH]。
在 [電子郵件地址 ] 中,輸入 Bot 專用的 Office 365 電子郵件帳戶。
選取授權。
出現提示時,請登入電子郵件帳戶,並將讀取/寫入和傳送許可權授與 Bot。
成功時,頁面會以驗證程式代碼開啟。 複製驗證碼。
在 [ 驗證碼 ] 中,輸入您剛才複製的驗證碼。
選取 [ 套用 ] 以完成電子郵件設定。
設定電子郵件以使用基本驗證
注意
- 不支援使用任何取代 Microsoft Entra ID 的廠商進行同盟驗證。
- 基於安全性考慮,Exchange Online 中基本驗證 的使用 已于 2022 年 10 月 1 日停用。 您應該將所有 Bot 移轉為在期限前使用 新式驗證 。
- 如果您使用 Microsoft Exchange Server,請先確定您已先啟用 自動探索 ,再設定電子郵件以使用基本驗證。
- 如果您使用已啟用 MFA 的 Office 365 帳戶,請務必先停用指定帳戶的 MFA;然後您可以設定電子郵件通道的帳戶。 否則,連線將會失敗。
開啟 Azure 入口網站。
開啟 Bot 的 [Azure Bot 資源] 刀鋒視窗。
在左窗格中,選取 [通道][預覽] 以開啟 [通道] 刀鋒視窗。
選取 [電子郵件 ] 以開啟 [ 設定電子郵件] 刀鋒視窗。
- 將 [驗證類型 ] 設定 為 [基本驗證] (停用 2022 年 10 月的星號)。
- 在 [電子郵件地址 ] 中,輸入 Bot 專用的 Office 365 電子郵件帳戶。
- 在 [ 密碼 ] 中,輸入電子郵件帳戶的密碼。
- 選取 [ 套用 ] 以完成電子郵件設定。
自訂電子郵件
電子郵件通道支援傳送自訂值,以使用活動 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 詳細 資料一節。