Conectar um bot ao e-mail
APLICA-SE A: SDK v4
Você pode configurar seu bot para se comunicar com os usuários por meio do email do Microsoft 365. Quando você configura seu bot para acessar uma conta de e-mail, ele recebe uma mensagem quando um novo e-mail chega. O bot pode usar o e-mail para responder. Por exemplo, em resposta à mensagem de e-mail de um usuário, o bot pode enviar uma resposta por e-mail com a mensagem "Olá! Obrigado pela sua encomenda! Começaremos a processá-lo imediatamente."
Atualmente, o canal Email funciona apenas com o Office 365. Outros serviços de e-mail não são suportados no momento.
Aviso
- Por motivos de segurança, o Exchange Online desabilitará a autenticação básica em 1º de outubro de 2022. O canal Email agora oferece suporte ao novo modelo de autenticação moderna do Exchange Online. Os bots que usam o modelo de autenticação básica sofrerão falhas após a mudança de outubro de 2022; ou antes, se o administrador do locatário desativar a autenticação básica antes dessa data. Para obter mais informações, consulte Autenticação básica e Exchange Online - Atualização de setembro de 2021.
- É uma violação do Código de Conduta do Bot Framework criar "spambots", incluindo bots que enviam e-mails em massa indesejados ou não solicitados.
Pré-requisitos
- Se não tiver uma subscrição 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 o bot
Mail.ReadWrite
eMail.Send
acesso. Para obter mais informações, consulte Noções básicas sobre experiências de consentimento de aplicativo do Microsoft Entra ID.
Nota
Você não deve usar suas próprias contas de e-mail pessoais para bots, pois todas as mensagens enviadas para essa conta de e-mail serão encaminhadas para o bot. Isso pode fazer com que o bot envie inadequadamente uma resposta para um remetente. Por esse motivo, os bots só devem usar contas de e-mail M365 dedicadas.
Configurar o email para usar autenticação moderna
Abra o portal do Azure.
Abra a folha de recursos do Bot do Azure para seu bot.
No painel esquerdo, selecione Canais.
Selecione Email para abrir a folha Configurar e-mail .
Defina Tipo de autenticação como Autenticação moderna (OAUTH).
Em Endereço de Email, insira a conta de email dedicada do Office 365 para o bot.
Selecionar Autorizar.
Quando solicitado, entre na conta de e-mail e conceda permissões de leitura/gravação e envio para o bot.
Quando for bem-sucedido, uma página será 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 e-mail.
Configurar o email para usar a autenticação básica
Nota
- Não há suporte para autenticação federada usando qualquer fornecedor que substitua 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 a autenticação moderna antes do prazo.
- Se você usa o Microsoft Exchange Server, certifique-se de ter habilitado a Descoberta Automática primeiro, antes de configurar o email para usar a autenticação básica.
- Se estiver a utilizar uma conta do Office 365 com a MFA ativada, certifique-se de que desativa primeiro a MFA para a conta especificada; Em seguida, você pode configurar a conta para o canal de e-mail. Caso contrário, a conexão falhará.
Abra o portal do Azure.
Abra a folha de recursos do Bot do Azure para seu bot.
No painel esquerdo, selecione Canais (visualização) para abrir a folha Canais .
Selecione Email para abrir a folha Configurar e-mail .
- Defina Tipo de autenticação como Autenticação básica (desativando a partir de outubro de 2022).
- Em Endereço de Email, insira a conta de email dedicada do Office 365 para o bot.
- Em Palavra-passe, introduza a palavra-passe da conta de e-mail.
- Selecione Aplicar para concluir a configuração do e-mail.
Personalizar e-mails
O canal Email suporta o envio de valores personalizados para criar e-mails mais avançados e personalizados usando a propriedade activity channelData
.
O trecho abaixo mostra um exemplo de uma channelData
mensagem de e-mail personalizada de entrada, 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 activity channelData
, consulte Criar uma mensagem de email personalizada.
Resolver problemas
Para erros que podem ocorrer durante o processamento do consentimento para um aplicativo, consulte Noções básicas sobre experiências de consentimento de aplicativo do Microsoft Entra ID e Erro inesperado ao executar o consentimento para um aplicativo.
Se o bot não retornar um código de status HTTP 200 OK dentro de 15 segundos em resposta a uma mensagem de e-mail recebida, o canal de e-mail tentará reenviar a mensagem e seu bot poderá receber a mesma atividade de mensagem de e-mail algumas vezes. Para obter mais informações, consulte a seção Detalhes HTTP em Como os bots funcionam e o artigo Solução de problemas de erros de tempo limite.
Recursos adicionais
- Conectar um bot a canais
- Implementar funcionalidade específica do canal com o SDK do Bot Framework para .NET
- Leia o artigo de referência de canais para obter mais informações sobre quais recursos são suportados em cada canal