Подключение бота по электронной почте
ОБЛАСТЬ ПРИМЕНЕНИЯ: ПАКЕТ SDK версии 4
Бот можно настроить для взаимодействия с пользователями по электронной почте Microsoft 365. При настройке бота для доступа к учетной записи электронной почты он получает сообщение при поступлении нового сообщения. Затем бот может использовать электронную почту для ответа. Например, в ответ на сообщение электронной почты пользователя бот может отправить ответ электронной почты с сообщением "Привет! Благодарим вас за заказ. We will begin processing it immediately."
В настоящее время канал электронной почты работает только с Office 365. В настоящее время другие службы электронной почты не поддерживаются.
Предупреждение
- По соображениям безопасности Exchange Online отключит базовую проверку подлинности 1 октября 2022 года. Канал электронной почты теперь поддерживает новую современную модель проверки подлинности Exchange Online. Боты, использующие базовую модель проверки подлинности, будут возникать сбои после изменения в октябре 2022 года; или раньше, если администратор клиента отключает базовую проверку подлинности до этой даты. Дополнительные сведения см. в разделе "Базовая проверка подлинности" и Exchange Online — обновление за сентябрь 2021 г.
- Это нарушение кодекса поведения Bot Framework для создания "спам-ботов", включая ботов, которые отправляют нежелательные или незапрошенные массовые сообщения электронной почты.
Необходимые компоненты
- Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
- Выделенная учетная запись электронной почты Office 365 для бота.
- Разрешение на предоставление боту
Mail.ReadWrite
иMail.Send
доступу. Дополнительные сведения см. в разделе "Общие сведения о согласии приложений с идентификатором Microsoft Entra ID".
Примечание.
Вы не должны использовать собственные личные учетные записи электронной почты для ботов, так как каждое сообщение, отправленное в эту учетную запись электронной почты, будет перенаправлено боту. Это может привести к тому, что бот отправит неправильный ответ отправителю. По этой причине боты должны использовать только выделенные учетные записи электронной почты M365.
Настройка электронной почты для использования современной проверки подлинности
Откройте портал Azure.
Откройте колонку ресурсов Azure Bot для бота.
В левой области выберите каналы.
Выберите "Электронная почта", чтобы открыть колонку "Настройка электронной почты".
Задайте тип проверки подлинности для современной проверки подлинности (OAUTH).
Введите выделенную учетную запись электронной почты Office 365 для бота.
Выберите Разрешить.
При появлении запроса войдите в учетную запись электронной почты и предоставьте разрешение на чтение и запись и отправьте разрешения боту.
При успешном выполнении откроется страница с кодом проверки. Скопируйте код проверки.
В коде проверки подлинности введите только что скопированный код проверки.
Нажмите кнопку "Применить" , чтобы завершить настройку электронной почты.
Настройка электронной почты для использования базовой проверки подлинности
Примечание.
- Федеративная проверка подлинности с помощью любого поставщика, заменяющего идентификатор Microsoft Entra, не поддерживается.
- По соображениям безопасности использование базовой проверки подлинности в Exchange Online отключено 1 октября 2022 г. Перед крайним сроком следует перенести все боты для использования современной проверки подлинности .
- Если вы используете Microsoft Exchange Server, сначала убедитесь, что вы включили автообнаружение перед настройкой электронной почты для использования базовой проверки подлинности.
- Если вы используете учетную запись Office 365 с включенным MFA, сначала отключите MFA для указанной учетной записи; затем можно настроить учетную запись для канала электронной почты. В противном случае подключение завершится ошибкой.
Откройте портал Azure.
Откройте колонку ресурсов Azure Bot для бота.
В левой области выберите каналы (предварительная версия), чтобы открыть колонку "Каналы ".
Выберите "Электронная почта", чтобы открыть колонку "Настройка электронной почты".
- Установите для типа проверки подлинности значение "Обычная проверка подлинности" (отключение отключаемой от октября 2022 г.).
- Введите выделенную учетную запись электронной почты 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
см. в статье "Создание настраиваемого сообщения электронной почты".
Устранить неполадки
Сведения об ошибках, которые могут возникать при обработке согласия на приложение, см. в разделе "Общие сведения о согласии приложения идентификатора Microsoft Entra ID" и непредвиденная ошибка при выполнении согласия на приложение.
Если бот не возвращает код состояния HTTP 200 OK в течение 15 секунд в ответ на входящее сообщение электронной почты, канал электронной почты попытается повторно отправить сообщение, и бот может несколько раз получать одно и то же действие сообщения электронной почты. Дополнительные сведения см. в разделе сведений о HTTP, посвященном работе ботов и устранению ошибок времени ожидания.
Дополнительные ресурсы
- Подключение бота к каналам.
- Реализация функциональных возможностей канала с помощью пакета SDK Bot Framework для .NET.
- Дополнительные сведения о функциях, поддерживаемых в каждом канале, см. в статье Разделенные на категории действия по каналам.