Microsoft IIS puede desempeñar muy bien el papel de un servidor SMTP, pero requiere bastantes pasos para configurarse. Por suerte para ti, he configurado un servidor de retransmisión SMTP de IIS y documentado todos los pasos.
En este artículo, cubriremos todos los pasos necesarios para configurar con éxito un servidor de retransmisión SMTP y enviar un correo electrónico saliente con Office 365. Técnicamente, utilizaremos este servidor de retransmisión SMTP para retransmitir correos electrónicos a Office 365; también puede funcionar rápidamente para cualquier propósito general de entrega de correo mediante retransmisión SMTP.
Prerrequisitos
Para configurar IIS y seguir junto conmigo, asegúrate de tener disponible una máquina con Windows Server 2016 . También asumiré que has iniciado sesión en el servidor como administrador.
Instalar la característica del servidor SMTP de IIS
La primera tarea que deberás realizar para configurar un servidor de retransmisión SMTP de IIS es instalar el servidor SMTP de IIS. Necesitarás instalar la característica de Servidor SMTP.
Usando Server Manager
Si no estás familiarizado con la instalación de características de Windows a través de Server Manager, consulta este artículo titulado Instalar o Desinstalar Roles, Servicios de Roles o Características.
Usando PowerShell
Instalar la característica del servidor SMTP elimina muchos clics. Abre una consola de PowerShell como administrador y ejecuta la línea a continuación:
Espera a que la instalación finalice. Deberías ver una salida similar a esta.

Importa un certificado (solo para TLS)
Si enviarás correos electrónicos a través de TLS (Office 365), necesitas importar un certificado SSL en la tienda de certificados personales de la máquina local del servidor antes de configurar el servidor SMTP de IIS. Puedes omitir este paso si tu relé SMTP de Office 365 no utiliza TLS.
Si no tienes un certificado, puedes obtener uno a través de tu infraestructura de clave pública (si la tienes) o un certificado público utilizando servicios como LetsEncrypt, Digicert, etc.
Una vez que tengas el certificado, necesitarás importarlo en la tienda de certificados personales de la máquina local. Si no estás familiarizado con cómo importar certificados usando el MMC de Certificados, echa un vistazo a Importar y Exportar Certificado – Microsoft Windows.
Cuando sea exitoso, deberías ver una ventana de confirmación como esta. Haz clic en OK (1) para confirmar.

De vuelta en la ventana principal de la consola, actualiza la carpeta Personal > Certificados y deberías poder ver el certificado importado.
Valida el Certificado
Una vez importado, asegúrese de verificar que la cadena de certificados esté completa y que no haya errores. Si todo está bien, debería poder abrir el certificado y ver que el campo Válido desde es actual y que hay una clave privada asociada con el certificado. A continuación se muestra un ejemplo.

En la pestaña Ruta de certificación, también debería ver un Estado del certificado que indique que el certificado está OK, como se muestra a continuación.

Configure el servidor SMTP de IIS
Ha instalado correctamente el servidor SMTP en este punto. Pero antes de poder usarlo, primero debe configurar los ajustes del servidor.
El servidor SMTP se está ejecutando en modo de compatibilidad con IIS6 y no viene con soporte integrado para PowerShell. Esto significa que configurará los ajustes manualmente utilizando la Consola de Administración de IIS6.
Vaya a Inicio -> Ejecutar y escriba inetmgr6 y presione Enter. Esto abrirá la consola de IIS 6.
Una vez que la consola esté abierta, haga clic derecho en [Servidor virtual SMTP #1] (1), luego seleccione Propiedades (2).

En la ventana de Propiedades, marque Habilitar registro (1), luego haga clic en Propiedades (2).

Vaya a la pestaña Avanzado y marque todas las casillas en la lista (1), luego haga clic en OK (2).

De vuelta en la ventana de Propiedades, vaya a la pestaña Entrega y haga clic en Avanzado (1).

En la ventana de Entrega Avanzada, escribe en el campo de Nombre de dominio completamente calificado (1) que deseas usar para el servidor de correo SMTP de destino. No es necesario que sea el mismo que el FQDN de la computadora en sí. Si estás configurando este servidor SMTP para usar con Office 365, en el campo de Host inteligente (2) , define tu punto final MX de Office 365. y haz clic en OK (3).

Agregar IPs Permitidas en el Servidor SMTP de IIS
Ahora, si tienes un dispositivo que deseas probar, primero debes agregar su dirección IP a las restricciones de retransmisión. En este ejemplo, la dirección IP 192.168.0.3 se agregará a las restricciones de retransmisión. Esta dirección IP pertenece a una computadora que está dentro de la misma red que el servidor.
Para agregar una IP permitida en las restricciones de retransmisión, ve a la pestaña de Acceso y haz clic en Retransmisión (1).

Dentro de la ventana de Restricciones de retransmisión, haz clic en Agregar (1).

Luego, escribe la Dirección IP (1) que deseas permitir y haz clic en OK (2).

De vuelta en la ventana de Restricciones de retransmisión, confirma que la dirección IP se haya agregado a la lista, luego haz clic en OK (1) y OK para cerrar la ventana de propiedades.

Confirma que el certificado es detectado por el servidor SMTP y habilita el cifrado TLS
Si tu servidor de retransmisión enviará correos electrónicos salientes a través de TLS, deberás confirmar que el certificado sea detectado por el servidor SMTP de IIS y habilitar el cifrado TLS.
En la pestaña Acceso de las propiedades del servidor SMTP, deberías ver un mensaje que indica “Se ha encontrado un certificado TLS con fecha de vencimiento: XXXXXX”. Si es así, estás listo para continuar.

A continuación, haz clic en la pestaña Entrega, haz clic en Seguridad de salida (1), marca la casilla de Encriptación TLS (2), haz clic en OK (3).

Con esto concluyen los pasos de configuración del servidor SMTP de IIS.
Prueba el servidor de retransmisión de correo SMTP de IIS
En este punto, tu servidor SMTP debería estar configurado y listo para comenzar a retransmitir correos. El siguiente paso es probarlo. Ahora deberías probar el envío de correos a través del relé SMTP para confirmar que el servidor SMTP receptor recibe el mensaje.
Prueba con el Directorio de Recogida
Cuando se instala el servidor SMTP de IIS, creará una carpeta en el servidor en C:\inetpub\mailroot\Pickup. Este directorio es donde el servicio SMTP recoge correos recién enviados para procesarlos antes de moverlos al directorio Cola.
Para probar usando este método, crea un archivo de texto plano con un contenido similar a este:
No olvides cambiar los valores de De y Para según corresponda.
Ahora guarda este archivo en algún lugar que no sea el directorio de recogida como mail.txt.
Una vez que hayas guardado el archivo, cópialo y pégalo en la carpeta C:\inetpub\mailroot\Pickup. Si tienes éxito, el archivo debería desaparecer rápidamente, lo que significa que el servicio SMTP lo ha recogido y ha comenzado a procesar el mensaje.
Después de unos segundos a un minuto, deberías recibir el correo electrónico enviado a la dirección de correo electrónico del destinatario especificada en mail.txt.
Prueba con PowerShell
En esta prueba, utilizarás PowerShell desde la computadora cuya dirección IP agregaste en la sección Agregar IPs permitidas en el servidor SMTP de IIS.
Abre una consola de PowerShell y copia/pega el siguiente código. Asegúrate de editar los valores de los parámetros From
, To
y SmtpServer
. Dependiendo de cómo hayas configurado el servidor de retransmisión anteriormente, puedes utilizar cualquiera de los ejemplos a continuación para probar una configuración sin TLS o con TLS.
Resumen
En este artículo, has aprendido cómo configurar un servidor de retransmisión SMTP de IIS para la entrega de correos electrónicos de Office 365. Cubrimos la configuración de un servidor SMTP sin TLS y con TLS utilizando una combinación de la interfaz gráfica de usuario y PowerShell. Luego probamos nuestra configuración utilizando PowerShell para confirmar que todo está funcionando correctamente.