Envío de correo electrónico SMTP con Microsoft 365

Introducción

Para permitir que nuestras aplicaciones envíen correos electrónicos como un usuario, necesitamos configurar una aplicación de Azure AD con el permiso apropiado. Además, necesitamos asegurarnos de que el usuario o cuenta de servicio tenga una licencia asignada para enviar correos electrónicos. El proceso de configurar nuestras aplicaciones de Azure AD y usuarios es muy sencillo.

Crear una aplicación de Azure AD con permisos de Graph

Para permitir que nuestra aplicación envíe correos electrónicos usando nuestro usuario o cuenta de servicio, necesitamos configurar una aplicación de Azure AD con los permisos apropiados.

Crear un nuevo registro de aplicación

Ir a Azure AD y crear un nuevo registro de aplicación.

  1. Portal de Azure > Active Directory > Registros de aplicaciones > Nuevo registro
  2. Nombre: Lo que quieras.
  3. Tipo: Cuentas en este directorio organizacional solamente (Tenant único)
  4. URI de redirección: No requerido.

Haz clic en Registrar

Configurar los permisos de la aplicación

Desde la página de la aplicación de prueba en el Portal de Azure navega a:

  1. Permisos de API > Agregar un permiso Microsoft Graph > Permisos de aplicación > Mail.Send > clic en Agregar permiso

Tus permisos configurados deberían verse así:

Usando un ID de Cliente y Secreto de Cliente

Necesitamos crear un nuevo secreto y almacenar de manera segura el valor de dicho secreto, junto con el ID de Tenant y el ID de Cliente de la aplicación

Desde la página de la aplicación navega a:

  1. Certificados y secretos > Nuevo secreto de cliente
  2. Copia el secreto y guárdalo en un lugar seguro

Luego, asegúrate de copiar el ID de Aplicación (ID de Cliente) y el ID de Tenant para tu aplicación. Puedes encontrar estos en la página de visión general de tu aplicación.

Para recapitular, llegados a este punto deberías haber almacenado estos valores para su uso posterior en nuestra aplicación:

  1. ID de Aplicación (cliente).
  2. El valor del secreto que creaste para esta aplicación.
  3. ID de Directorio (tenant).

Asegúrate de que tu usuario o cuenta de servicio tenga una licencia para enviar correos electrónicos

Ir al Portal de Azure:

  1. Active Directory > Licencias > Todos los productos
  2. (Cualquier licencia que tenga un buzón) – Para mí, es Office 365 E5.
  3. Asignarla al usuario (Para mí, de nuevo, esto ya está hecho).

Esta parte es importante realizarla correctamente ya que aquí es donde configura que buzón va a poder enviar emails.

Puede leer información complementaria en estos enlaces

Hemos terminado con los preparativos. En este punto, deberíamos tener:

  1. Nueva aplicación de Azure AD.
  2. Configurados los permisos apropiados para enviar correos electrónicos.
  3. Asegurado que había una licencia asignada a la cuenta de usuario.

Probar la configuración

Con estos ya deberíamos tener todo configurado para poder probar si todo es correcto.

Puede descargar el siguiente fichero zip que contiene un programa básico para que pueda introducir estos parámetros y probar la configuración

TestEmailMicrosoft365.zip

El contenido al descomprimir la carpeta es tal que así:

Al ejecutar el programa TestEmailMicrosoft365.exe la pantalla le pedirá los siguientes parámetros

Ingrese el clientId: Este es el valor de ID de Aplicación (cliente) previamente configurado

Ingrese el clientSecret: Este es el El valor del secreto que creaste para esta aplicación.

Ingrese el tenantId: Este es el valor de ID del Directorio (tenant) de su cuenta de microsoft 365.

Ingrese el correo electrónico del remitente: Este es el buzón de correo electrónico donde se envían los emails y que tiene los permisos adecuados y licencias para poder enviar correos

Ingrese el correo electrónico del destinatario: Este es el email donde recibirá un email como este para probar la configuración

Al finalizar de pegar cada parámetro pulse Enter para continuar.

El email recibido será algo como esto

Llegados a este punto ya tiene todo perfectamente configurado y puede pasar a PlusATS los valores de configuración para el email.