Conectar um bot ao email
APLICA-SE A: SDK v4
Você pode configurar seu bot para se comunicar com usuários pelo email do Microsoft 365. Quando você configura seu bot para acessar uma conta de email, ele recebe uma mensagem quando um novo email chega. O bot pode usar o email para responder. Por exemplo, em resposta à mensagem de email de um usuário, o bot poderia enviar uma resposta por email com a mensagem "Olá! Agradecemos seu pedido! Começaremos a processá-lo imediatamente."
O canal de Email funciona no momento apenas com o Office 365. No momento, não há suporte para outros serviços de email.
Aviso
- Por motivos de segurança, o Exchange Online desabilitará a autenticação básica em 1º de outubro de 2022. O canal de email agora oferece suporte ao novo modelo de autenticação moderna do Exchange Online. Bots que usam o modelo de autenticação básica apresentarão falhas após a mudança de outubro de 2022; ou anterior se o administrador de locatários desabilitar a autenticação básica antes dessa data. Para obter mais informações, confira Autenticação básica e Exchange Online - setembro de 2021.
- É uma violação do Código de Conduta do Bot Framework criar "spambots", incluindo bots que enviam email em massa não solicitados ou indesejados.
Pré-requisitos
- Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Uma conta de email dedicada do Office 365 para o bot.
- Permissão para conceder acesso ao bot de
Mail.ReadWrite
eMail.Send
. Para obter mais informações, confira Reconhecimento das experiências de consentimento para aplicativos no Microsoft Entra ID.
Observação
Você não deve usar suas contas de email pessoais para bots, pois todas as mensagens enviadas a essa conta de email serão encaminhadas para o bot. Isso pode resultar no bot enviando inadequadamente uma resposta para um remetente. Por esse motivo, os bots só devem usar contas de email dedicadas do M365.
Configurar o email para usar a autenticação moderna
Kudu o Portal do Azure.
Kudu a folha do recurso de Bot do Azure para o seu bot.
No painel esquerdo, selecione Canais.
Selecione Email para abrir a folha Configurar email.
Defina o Tipo de autenticação como Autenticação moderna (OAUTH).
Em End. de email, insira a conta de email dedicada do Office 365 para o bot.
Selecione Autorizar.
Quando solicitado, entre na conta de email e conceda permissões de leitura/gravação e envio ao bot.
Em caso de êxito, uma página é aberta com um código de validação. Copie o código de validação.
Em Código de autenticação, insira o código de validação que você acabou de copiar.
Selecione Aplicar para concluir a configuração do email.
Configure um email para usar a autenticação básica
Observação
- Não há suporte para autenticação federada usando qualquer fornecedor que substitui o Microsoft Entra ID.
- Por motivos de segurança, o uso da autenticação básica no Exchange Online está sendo desabilitado em 1º de outubro de 2022. Você deve migrar todos os seus bots para usar autenticação moderna antes da data limite.
- Se estiver usando o Microsoft Exchange Server, verifique se você habilitou a Descoberta automática antes de configurar o email para usar a autenticação básica.
- Se estiver usando uma conta do Office 365 com a MFA habilitada, primeiro desabilite a MFA para a conta especificada e, em seguida, você poderá configurar a conta para o canal de email. Caso contrário, a conexão falhará.
Kudu o Portal do Azure.
Kudu a folha do recurso de Bot do Azure para o seu bot.
No painel esquerdo, selecione Canais (preview) para abrir a folha Canais.
Selecione Email para abrir a folha Configurar email.
- Defina o Tipo de autenticação como Autenticação básica (desabilitando a partir de outubro de 2022).
- Em End. de email, insira a conta de email dedicada do Office 365 para o bot.
- Em Senha, insira a senha da conta de email.
- Selecione Aplicar para concluir a configuração do email.
Personalize emails
O canal de Email oferece suporte ao envio de valores personalizados para criar emails mais avançados e personalizados usando a atividade channelData
.
O trecho abaixo mostra um exemplo do channelData
para mensagem de email recebida personalizada, do bot para o usuário.
{
"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",
}
}
Para obter mais informações sobre a propriedade da atividade channelData
, confira Criar uma mensagem de email personalizada.
Solucionar problemas
Para erros que podem ocorrer durante o processamento do consentimento para um aplicativo, confira Reconhecimento das experiências de consentimento de aplicativo do Microsoft Entra ID e Erro inesperado ao executar o consentimento em um aplicativo.
Se seu bot não retornar um código de status de HTTP 200 OK dentro de 15 segundos em resposta a uma mensagem de email recebida, o canal de email tentará reenviar a mensagem e seu bot poderá receber a mesma atividade de mensagem de email algumas vezes. Para obter mais informações, confira a seção de Detalhes de HTTP em Como funcionam os bots e o artigo Solucionar problemas de erros de tempo limite.
Recursos adicionais
- Conectar um bot aos canais
- Implemente a funcionalidade específica do canal com o SDK do Bot Framework para .NET
- Leia o artigo referência de canais para obter mais informações sobre quais recursos são compatíveis com cada canal