Volver al blog

Instalación y configuración de Postfix como servidor SMTP de solo envío en Ubuntu 20.04

Instalación y configuración de Postfix como servidor SMTP de solo envío en Ubuntu 20.04

Postfix es un software libre y de código abierto muy popular que actúa como un agente de transferencia de correo (MTA). El trabajo de Postfix es enrutar y entregar correos electrónicos. Además del uso clásico, Postfix también se puede configurar para enviar correos electrónicos únicamente mediante aplicaciones locales.

Esta aplicación de Postfix es un truco útil para implementar en diversas situaciones. Por ejemplo, se puede utilizar al enviar notificaciones por correo electrónico con regularidad, al trabajar con un proveedor de servicios de correo electrónico de terceros con tráfico de salida limitado, etc. En comparación con cualquier servidor SMTP completo, Postfix es una alternativa más ligera que al mismo tiempo conserva las funcionalidades necesarias.

En este tutorial, descubre cómo instalar y configurar Postfix como un servidor SMTP de solo envío en Ubuntu.

Requisitos previos

Para seguir esta guía, debes cumplir con los siguientes requisitos previos:

Instalación de Postfix

Una vez que se cumplen las condiciones previas, el servidor está listo para implementar Postfix. La forma más sencilla de instalar Postfix es instalar el paquete mailutils. Está disponible directamente desde los repositorios oficiales de Ubuntu.

Primero, abre una terminal y actualiza la base de datos de paquetes de APT:

Package Update

Luego, puedes instalar Postfix:

Install MailUtils

Durante el proceso de instalación, aparecerá la siguiente ventana de configuración. La opción predeterminada es Internet Site. Para confirmar la selección, presiona TAB para mover el cursor a la siguiente sección. Luego, presiona Enter:

Mail Server Config

El siguiente paso solicitará el nombre de correo del sistema. Será el nombre asignado al servidor en el momento de la creación. Como se describe en el script, si la dirección de correo para el host local es “foo@example.org”, entonces el nombre de correo del sistema sería example.org:

Mail Name Config

Ten en cuenta que el script de configuración también se puede ejecutar en cualquier momento posterior utilizando el siguiente comando:

Configuración de Postfix

En este paso, Postfix se configurará para enviar y recibir correos electrónicos solo desde localhost. Esto requiere que Postfix escuche en la interfaz loopback. Es la interfaz de red virtual que utiliza el servidor para la comunicación interna. A continuación, abre el archivo de configuración de Postfix utilizando el editor de texto de tu elección:

Cambia el valor de inet_interface a loopback-only:

Inet Interface

Otra directiva que debes cambiar es mydestination. Define la lista de dominios que se entregan a través del transporte de entrega de correo local_transport . El valor predeterminado será algo como esto:

Mydestination Old

Cambia su valor por el siguiente:

Mydestination

En caso de que tu dominio sea en realidad un subdominio y desees que los correos electrónicos parezcan enviados desde el dominio principal, agrega la siguiente directiva al final de la configuración de Postfix. Esto eliminará el subdominio de la dirección de correo electrónico:

Postfix Masquerade Domains

Para que los cambios surtan efecto, reinicia Postfix:

restart_postfix

Prueba del servidor SMTP

Asumiendo que el proceso de configuración se realizó correctamente, es hora de probarlo. Para hacer eso, verifica si Postfix puede enviar un correo electrónico a una cuenta de correo externa utilizando el comando mail. Es parte del paquete mailutils :

El mensaje debería llegar a la dirección de correo electrónico especificada. En este punto, todos los correos electrónicos enviados están sin cifrar. Los proveedores de servicios generalmente marcarán dichos correos como spam, así que asegúrese de revisar la sección de spam para verificar la llegada del correo electrónico.

Si el mail comando informa de un error o el correo electrónico no llegó después de un período prolongado de tiempo, vuelva a verificar la configuración de Postfix y asegúrese de que el nombre del servidor y el nombre de host estén configurados correctamente. Con esta configuración, los correos electrónicos parecerán ser enviados desde la siguiente dirección:

Aquí, el nombre de usuario será el nombre de usuario del usuario del servidor que ejecutó el mail comando.

Reenvío de correo del sistema

Hemos verificado con éxito que el servidor de correo electrónico está configurado correctamente y es funcional. Ahora debe configurarse para reenviar el correo electrónico para root. Todos los mensajes generados por el sistema enviados al servidor se reenviarán a una dirección de correo electrónico externa. Para los destinatarios de correo electrónico, el /etc/aliases archivo contiene la lista de nombres alternativos. Ábralo usando el editor de texto de su elección:

Por defecto, se verá así:

Postfix Aliases

Al final del archivo, agregue la siguiente línea:

Postfix Newaliases

Indica que los correos electrónicos enviados a root se reenviarán a una dirección de correo electrónico. Para que el cambio surta efecto, ejecute el siguiente comando. Reconstruirá la base de datos de alias que utiliza el mail comando:

sudo newaliases

A continuación, debe probar si el cambio fue exitoso. Envíe un correo electrónico de prueba a root:

El correo electrónico debería llegar a la dirección de correo electrónico especificada. No olvide revisar la carpeta de spam, ya que aún no hay cifrado configurado.

Habilitación del cifrado SMTP

Enviar correos electrónicos en formato sin cifrar es un movimiento arriesgado. Para garantizar la seguridad, es necesario tener habilitado el cifrado SMTP. Para lograr esto, solicitaremos un certificado TLS gratuito de Let’s Encrypt para su dominio.

Para Ubuntu, es la herramienta Certbot la que hace el trabajo. Afortunadamente, está disponible directamente desde el repositorio oficial de Ubuntu. Instale Certbot con el siguiente comando:

Postfix Install certbot

Asumiendo que el servidor tiene UFW configurado, es necesario tener el puerto 80 abierto para que se pueda realizar la verificación del dominio. Ejecute el siguiente comando para habilitarlo:

ufw allow Postfix

Ahora, ejecute Certbot para generar un certificado. Esto le ordena a Certbot emitir certificados con una clave RSA de 4096 bits. La verificación se realizará a través del puerto 80 (HTTP):

La salida será algo como esto:

La clave se almacenará en el siguiente directorio:

Ahora que su certificado está generado, abra el archivo de configuración de Postfix en un editor de texto:

Busque la sección TLS parámetros:

Postfix tls conf old

Después de eso, cambie el valor de las directivas smtpd_tls_cert_file y smtpd_tls_key_file:

Postfix tls conf

A continuación, guarde y cierre el archivo. Para que los cambios surtan efecto, reinicie Postfix:

Finalmente, envíe un correo electrónico de prueba nuevamente a una dirección de correo electrónico de destino:

El correo electrónico ahora debería aparecer normalmente como otros correos. Si verifica la información técnica del correo electrónico, aparecerá cifrado.

Consideraciones finales

¡Felicitaciones! Ha configurado con éxito un servidor de correo electrónico de solo envío, impulsado por Postfix. Las transacciones de correo electrónico también son seguras utilizando una clave de cifrado adecuada.

Para conocer más formas de optimizar la transferencia de correo electrónico, consulte este tutorial Las mejores formas de utilizar el servidor SMTP de Google.

¡Feliz computación!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.