Conectar un bot al correo electrónico

SE APLICA A: SDK v4

Puede configurar el bot para comunicarse con los usuarios a través del correo electrónico de Microsoft 365. Al configurar el bot para acceder a una cuenta de correo electrónico, recibe un mensaje cuando llega un nuevo correo electrónico. Después, el bot puede usar el correo electrónico para responder. Por ejemplo, en respuesta al mensaje de correo electrónico de un usuario, el bot podría enviar una respuesta de correo electrónico con el mensaje "Hola! Le agradecemos su pedido. Comenzaremos a procesarlo inmediatamente".

El canal de correo electrónico solo funciona actualmente con Office 365. Actualmente no se admiten otros servicios de correo electrónico.

Advertencia

  • Por motivos de seguridad, Exchange Online deshabilitará la autenticación básica el 1 de octubre de 2022. El canal de correo electrónico ahora admite el nuevo modelo de autenticación moderna de Exchange Online. Los bots que usan el modelo de autenticación básica experimentarán errores después del cambio de octubre de 2022; o anterior si el administrador de inquilinos deshabilita la autenticación básica antes de esa fecha. Para obtener más información, vea Autenticación básica y Exchange Online: actualización de septiembre de 2021.
  • Se trata de una infracción del código de conducta de Bot Framework para crear "bots de correo no deseado", incluidos los bots que envían correo electrónico masivo no deseado o no solicitado.

Requisitos previos

  • Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
  • Una cuenta de correo electrónico dedicada de Office 365 para el bot.
  • Permiso para conceder al bot Mail.ReadWrite y Mail.Send acceso. Para obtener más información, consulte Descripción de las experiencias de consentimiento de la aplicación de Id. de Microsoft Entra.

Nota:

No debe usar sus propias cuentas de correo electrónico personales para bots, ya que todos los mensajes enviados a esa cuenta de correo electrónico se reenviarán al bot. Como consecuencia, el bot puede enviar una respuesta al remitente de manera inadecuada. Por este motivo, los bots solo deben usar cuentas de correo electrónico M365 dedicadas.

Configuración del correo electrónico para usar la autenticación moderna

  1. Abra Azure Portal.

  2. Abra la hoja de recursos de Azure Bot para el bot.

  3. En el panel izquierdo, seleccione Canales.

  4. Seleccione Correo electrónico para abrir la hoja Configurar correo electrónico .

    Configure email settings

    1. Establezca Tipo de autenticación en Autenticación moderna (OAUTH).

    2. En Dirección de correo electrónico, escriba la cuenta de correo electrónico dedicada de Office 365 para el bot.

    3. Seleccione Autorizar.

      1. Cuando se le solicite, inicie sesión en la cuenta de correo electrónico y conceda permisos de lectura y escritura y envío al bot.

      2. Si se ejecuta correctamente, se abre una página con un código de validación. Copie el código de validación.

        Interaction with validation code

    4. En Código de autenticación, escriba el código de validación que acaba de copiar.

    5. Seleccione Aplicar para completar la configuración de correo electrónico.

Configuración del correo electrónico para usar la autenticación básica

Nota:

  • No se admite la autenticación federada mediante cualquier proveedor que reemplace el identificador de Entra de Microsoft.
  • Por motivos de seguridad, el uso de la autenticación básica en Exchange Online se deshabilita el 1 de octubre de 2022. Debe migrar todos los bots para usar la autenticación moderna antes de la fecha límite.
  • Si usa Microsoft Exchange Server, asegúrese de que ha habilitado primero detección automática antes de configurar el correo electrónico para usar la autenticación básica.
  • Si usa una cuenta de Office 365 con MFA habilitada en ella, asegúrese de deshabilitar MFA para la cuenta especificada en primer lugar; después, puede configurar la cuenta para el canal de correo electrónico. De lo contrario, se producirá un error en la conexión.
  1. Abra Azure Portal.

  2. Abra la hoja de recursos de Azure Bot para el bot.

  3. En el panel izquierdo, seleccione Canales (versión preliminar) para abrir la hoja Canales .

  4. Seleccione Correo electrónico para abrir la hoja Configurar correo electrónico .

    Enter email credentials

    1. Establezca Tipo de autenticación en Autenticación básica (deshabilitación de la estrella octubre de 2022) .
    2. En Dirección de correo electrónico, escriba la cuenta de correo electrónico dedicada de Office 365 para el bot.
    3. En Contraseña, escriba la contraseña de la cuenta de correo electrónico.
    4. Seleccione Aplicar para completar la configuración de correo electrónico.

Personalizar correos electrónicos

El canal de correo electrónico admite el envío de valores personalizados para crear correos electrónicos más avanzados y personalizados mediante la propiedad activity channelData . El fragmento de código siguiente muestra un ejemplo de para channelData un mensaje de correo electrónico personalizado entrante, desde el bot al usuario.

{
    "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 obtener más información sobre la propiedad activity channelData , vea Crear un mensaje de correo electrónico personalizado.

Solución de problemas

Para ver los errores que pueden producirse durante el procesamiento del consentimiento de una aplicación, consulte Descripción de las experiencias de consentimiento de la aplicación de Id. de Microsoft Entra y Error inesperado al realizar el consentimiento en una aplicación.

Si el bot no devuelve un código de estado HTTP correcto de 200 en un plazo de 15 segundos en respuesta a un mensaje de correo electrónico entrante, el canal de correo electrónico intentará reenviar el mensaje y el bot puede recibir la misma actividad de mensaje de correo electrónico varias veces. Para obtener más información, consulte la sección De detalles HTTP en el artículo Cómo funcionan los bots y los errores de tiempo de espera de solución de problemas.

Recursos adicionales