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 e Mail.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

  1. Abra o portal do Azure.

  2. Abra a folha de recursos do Bot do Azure para seu bot.

  3. No painel esquerdo, selecione Canais.

  4. Selecione Email para abrir a folha Configurar e-mail .

    Configure email settings

    1. Defina Tipo de autenticação como Autenticação moderna (OAUTH).

    2. Em Endereço de Email, insira a conta de email dedicada do Office 365 para o bot.

    3. Selecionar Autorizar.

      1. Quando solicitado, entre na conta de e-mail e conceda permissões de leitura/gravação e envio para o bot.

      2. Quando for bem-sucedido, uma página será aberta com um código de validação. Copie o código de validação.

        Interaction with validation code

    4. Em Código de autenticação, insira o código de validação que você acabou de copiar.

    5. 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á.
  1. Abra o portal do Azure.

  2. Abra a folha de recursos do Bot do Azure para seu bot.

  3. No painel esquerdo, selecione Canais (visualização) para abrir a folha Canais .

  4. Selecione Email para abrir a folha Configurar e-mail .

    Enter email credentials

    1. Defina Tipo de autenticação como Autenticação básica (desativando a partir de outubro de 2022).
    2. Em Endereço de Email, insira a conta de email dedicada do Office 365 para o bot.
    3. Em Palavra-passe, introduza a palavra-passe da conta de e-mail.
    4. 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