Cómo configurar la retransmisión SMTP puerto 25 de Postfix en Ubuntu con Sendinblue

Este tutorial te mostrará cómo configurar la retransmisión SMTP Postfix con Sendinblue en Ubuntu. Postfix es un popular servidor SMTP de código abierto. Puedes ver cómo configurar fácilmente un servidor de correo electrónico completo en Ubuntu con iRedMail, en este otro articulo.

Sin embargo, algunos de vosotros podéis tener el puerto 25 bloqueado por el proveedor de alojamiento/ISP como una forma de controlar el spam de correo electrónico, por lo que no podréis enviar correos electrónicos. OVH tiene desbloqueado el puerto 25 y Contabo no bloquea el puerto 25 tampoco, por lo que recomiendo usar sus VPS. Algunos otros proveedores de alojamiento/ISP como DigitalOcean se negarán a desbloquear el puerto 25.

Este tutorial funciona en todas las versiones actuales de Ubuntu, incluyendo Ubuntu 18.04, Ubuntu 20.04, Ubuntu 21.04.

Retransmisión SMTP al rescate

Puedes omitir el puerto 25 y enviar correos electrónicos a través del relé SMTP, ya que éste utiliza el puerto TCP 587. Con la retransmisión SMTP, tu propio servidor de correo electrónico no envía directamente el correo electrónico a la dirección de correo electrónico de destino. En su lugar, hay un servidor de correo intermedio, también conocido como host inteligente o host de retransmisión, que envía los correos electrónicos en tu nombre. Tu servidor de correo electrónico se comunica con el host de retransmisión en el puerto TCP 587, y luego el host de retransmisión se comunica con el servidor de correo del destinatario en el puerto 25.

La retransmisión SMTP también puede ayudarte a evitar las listas negras antispam, si tu dirección IP está en la lista negra por cualquier motivo. El servidor de correo del destinatario comprueba la dirección IP del host de retransmisión en las listas negras antispam públicas, en lugar de la dirección IP de su servidor, y como los servicios de retransmisión SMTP mantienen una buena reputación de IP, tus correos electrónicos pueden atravesar las listas negras de IP.

Utilizar Sendinblue para enviar 300 correos electrónicos al día de forma gratuita

Hay varios proveedores de servicios de correo electrónico (ESP) que pueden actuar como host de retransmisión. Algunos cobran una pequeña cuota, otros ofrecen cuotas gratuitas cada mes. En este artículo, me gustaría mostrarte cómo utilizar Sendinblue, que es un proveedor de servicios de correo electrónico que te permite enviar 300 correos electrónicos por día de forma gratuita.

Lo bueno de Sendinblue es que no requiere que introduzcas los datos de tu tarjeta de crédito cuando utilizas el servicio de retransmisión SMTP gratuito.

Paso 1: Crear una cuenta de Sendinblue

Cree una cuenta gratuita en sendinblue.com. Una vez que completes tu perfil de usuario, haz clic en la pestaña Transaccional, obtendrás tu configuración SMTP. Si no hay ninguna configuración SMTP, deberás ponerse en contacto con el servicio de atención al cliente de Sendinblue para activar el servicio de correo electrónico transaccional.

Ahora debes configurar tu servidor SMTP Postfix para utilizar la configuración SMTP de Sendinblue.

Paso 2: Configurar el retransmisor SMTP de Postfix con Sendinblue

Primero, vamos a instalar el servidor SMTP Postfix en Ubuntu con el siguiente comando. Si Postfix ya se está ejecutando en su servidor, entonces omite la instalación de Postfix, pero todavía necesitas instalar el paquete libsasl2-modules.

sudo apt install postfix libsasl2-modules

Cuando veas el siguiente mensaje, pulsa el tabulador y presiona Enter.

A continuación, elige la segunda opción: Sitio de Internet.

A continuación, establece el nombre de correo del sistema. Por ejemplo, introduzco mi nombre de dominio tecnolitas.com.

Una vez instalado Postfix, abre el archivo de configuración principal con un editor de texto de línea de comandos como Nano.

sudo nano /etc/postfix/main.cf

Encuentra la siguiente línea.

relayhost =

Por defecto, su valor está vacío. Establece el valor de relayhost en [smtp-relay.sendinblue.com]:587.

relayhost = [smtp-relay.sendinblue.com]:587

A continuación, añade las siguientes líneas al final de este archivo.

# outbound relay configurations
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000

Guarda y cierra el archivo. A continuación, crea el archivo /etc/postfix/sasl_passwd.

sudo nano /etc/postfix/sasl_passwd

Añade el host de retransmisión SMTP y las credenciales SMTP a este archivo como se indica a continuación. Cambia smtp_username y smtp_password por tu propio nombre de usuario y contraseña que te da SendinBlue. Ten en cuenta que hay dos puntos entre el nombre de usuario y la contraseña.

[smtp-relay.sendinblue.com]:587      smtp_username:smtp_password

Guarda y cierra el archivo. A continuación, crea el correspondiente archivo hash db con postmap.

sudo postmap /etc/postfix/sasl_passwd

Ahora deberías tener un archivo /etc/postfix/sasl_passwd.db. Reinicia Postfix para que los cambios surtan efecto.

sudo systemctl restart postfix

Por defecto, los archivos sasl_passwd y sasl_passwd.db pueden ser leídos por cualquier usuario del servidor. Cambia el permiso a 600 para que sólo root pueda leer y escribir en estos dos archivos.

sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

A partir de ahora, Postfix enviará los correos electrónicos a través de Sendinblue.

Paso 3: Añadir direcciones de remitentes

Haz clic en el menú desplegable de la esquina superior derecha del panel de control de tu cuenta de Sendinblue y selecciona la pestaña Remitentes e IPs para añadir tu dominio y dirección de remitente.

Paso 4: Configurar la autenticación SPF/DKIM en SendinBlue

En este paso, tenemos que configurar los registros SPF y DKIM, lo cual es muy recomendable si quieres que tus correos electrónicos lleguen a la bandeja de entrada del destinatario en lugar de a la carpeta de spam.

  • SPF: Sender Policy Framework. Se trata de un registro DNS que especifica qué direcciones IP pueden enviar correo electrónico para su dominio.
  • DKIM: DomainKeys Identified Mail. Sendinblue firmará digitalmente sus correos electrónicos con una clave privada. El registro DKIM contiene una clave pública que permite al servidor de correo electrónico del destinatario verificar la firma.

En su panel de control de SendinBlue, haz clic en el nombre de tu cuenta en la esquina superior derecha, luego haz clic en Remitentes e IPs. Seleccione la pestaña Dominios -> Gestionar -> Autenticar este dominio.

Aparece una ventana emergente. Tienes que añadir los 3 primeros registros de tu dominio.

Una vez creados los registros SPF y DKIM, espera unos instantes y haz clic en el botón REGISTRO AÑADIDO. POR FAVOR VERIFÍQUELO. Dependiendo de su servicio de alojamiento de DNS, sus nuevos registros DNS pueden tardar en propagarse por Internet.

  • Ve a https://dnsmap.io y comprueba si tus registros DNS se propagan a Internet.
  • Para el registro DKIM, vae a https://www.dmarcanalyzer.com/dkim/dkim-check/, introduce mail como selector e introduzca tu nombre de dominio para comprobar la propagación del registro DKIM y si hay algún error en tu registro DKIM.

Si los registros SPF y DKIM se configuran correctamente y se verifican, tu dominio se autentifica en Sendinblue.

Envío de correo electrónico de prueba

Ahora puedes enviar un correo electrónico de prueba con el comando mailx como el siguiente.

sudo apt install bsd-mailx

echo "esto es un correo de prueba." | mailx -r from-address -s hello to-address

También puedes enviar un correo electrónico de prueba desde tu cliente de correo web o de escritorio. También es una buena idea probar la puntuación de tu correo electrónico en https://www.mail-tester.com. Como puedes ver, yo obtuve una puntuación perfecta.

Solución de problemas

Si tu correo no fue entregado y encontraste el siguiente mensaje en el registro de correo (/var/log/mail.log),

Relay access denied (in reply to RCPT TO command))

entonces es posible que tengas que editar el archivo /etc/postfix/sasl_passwd y eliminar el número de puerto después del nombre de host como se indica a continuación.

smtp-relay.sendinblue.com      smtp_username:smtp_passowrd

Guarde y cierre el archivo. A continuación, construya de nuevo el archivo de índice.

sudo postmap /etc/postfix/sasl_passwd

Reinicia Postfix para que los cambios surtan efecto.

sudo systemctl restart postfix

Ahora puedes vaciar la cola de correo electrónico (intentar entregar los correos anteriores).

sudo postqueue -f

Añadir dominios adicionales

Si configura un servidor de correo en un nuevo host para un nuevo nombre de dominio, y quiere configurar el relé SMTP para este nuevo nombre de dominio, entonces simplemente siga los pasos 2, 3 y 4 de nuevo.

¡Que tengas un Ingenioso día!

¡que tengas un ingenioso día!

Contrata tu plan Ingenios@ de Sistemas por 5€ al mes y responderé a todas tus preguntas sobre tecnología en el menor tiempo posible. Pasa a formar parte de la comunidad Ingenios@s de Sistemas y disfruta de contenido exclusivo y aprende sobre sistemas Open Source, Blockchain, SmarContract, Web3, Inteligencia Artificial y Reaidad Virtual, súbete al tren de la Revolución 4.0

Si quieres estar al día y no perderte nada Suscribete al Podcast Ingenios@s de Sistemas, un episodio diario que te mantendrá informado y formado en esta vertiginosa carrera.

Deja un comentario

Share to...