Este tutorial le mostrará cómo configurar la retransmisión SMTP de Postfix con Mailjet en Debian. Postfix es un popular servidor SMTP de código abierto. Anteriormente escribí un artículo sobre cómo configurar rápidamente su propio servidor de correo electrónico en Debian con Modoboa, que ayudó a muchos lectores a ejecutar su propio servidor de correo electrónico.
Sin embargo, algunos lectores me dijeron que el puerto 25 está bloqueado por el proveedor de alojamiento o ISP como una forma de controlar el correo no deseado, por lo que no podían enviar correos electrónicos. Vultr desbloquearía el puerto 25 si se lo pide, y ScalaHosting no bloquea el puerto 25 en absoluto, por lo que recomiendo usar ScalaHosting VPS. Algunos otros proveedores de alojamiento o ISP como DigitalOcean no desbloquearían el puerto 25, entonces, ¿qué puede hacer para evitar este bloqueo, si no puede o no quiere cambiar su proveedor de alojamiento?
Retransmisión SMTP al rescate
Puede omitir el puerto 25 y enviar correos electrónicos al mundo exterior con la retransmisión SMTP porque utiliza el puerto 587. Con la retransmisión SMTP, su propio servidor de correo electrónico no envía correos electrónicos directamente a la dirección de correo electrónico de destino. En cambio, hay un servidor de correo intermedio, también conocido como host inteligente o host de retransmisión, que envía correos electrónicos en su nombre. Su servidor de correo electrónico se comunica con el host inteligente en el puerto 587, luego el host inteligente habla con el servidor de correo del destinatario en el puerto 25.
La retransmisión SMTP también puede ayudarlo a sortear las listas negras antispam, si su dirección IP está en la lista negra por cualquier motivo. El servidor de correo del destinatario verifica la dirección IP del host inteligente en las listas negras antispam públicas, en lugar de la dirección IP de su servidor y porque los servicios de retransmisión SMTP mantienen una buena reputación de IP, por lo que sus correos electrónicos pueden pasar por las listas negras de IP.
Uso de Mailjet para enviar 200 correos electrónicos por día de forma gratuita
Hay varios proveedores de servicios de correo electrónico (ESP) que pueden actuar como host inteligente. Algunos cobran una pequeña tarifa, algunos ofrecen cuotas gratuitas todos los meses. En este artículo, me gustaría mostrarte cómo usar Mailjet, que es un proveedor de servicios de correo electrónico que te permite enviar 200 correos electrónicos por día de forma gratuita.
Lo bueno de Mailjet es que no requiere que ingrese los detalles de su tarjeta de crédito cuando utiliza el servicio de retransmisión SMTP gratuito. Hay otros ESP que ofrecen una cuota gratuita todos los meses, pero requieren que ingrese los detalles de la tarjeta de crédito. (Sé lo frustrante que puede ser no tener una tarjeta de crédito). Mailjet también es más fácil de configurar, en comparación con otros ESP.
Crea una cuenta en mailjet.com. Luego, en el tablero, puede ver las 3 cosas que debe hacer.
- Configuración de SMTP
- Gestionar direcciones de remitentes
- configurar la autenticación de dominio (SPF y DKIM)
Paso 1:configurar Postfix SMTP Relay en Debian
Primero, instalemos el servidor Postfix SMTP en Debian con el siguiente comando. Si Postfix ya se está ejecutando en su servidor, omita la instalación de Postfix , pero aún necesita instalar los libsasl2-modules
paquete.
sudo apt install postfix libsasl2-modules
Cuando vea el siguiente mensaje, presione la tecla Tab y presione Entrar.
Luego elige la segunda opción:Internet Site
.
A continuación, establezca el nombre de correo del sistema. Por ejemplo, ingreso mi nombre de dominio linuxbabe.com
.
Después de instalar Postfix, abra el archivo de configuración.
sudo nano /etc/postfix/main.cf
Busque la siguiente línea.
relayhost =
Por defecto, su valor no está establecido. Debe obtener este valor de su cuenta de Mailjet. En el panel de Mailjet, haz clic en setup my SMTP
.
Verá la dirección del servidor SMTP y las credenciales SMTP.
En el archivo de configuración de Postfix, establezca el valor de relayhost
a in-v3.mailjet.com:587
.
relayhost = in-v3.mailjet.com:587
Luego agregue 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
Guarde y cierre el archivo. Luego cree el /etc/postfix/sasl_passwd
archivo.
sudo nano /etc/postfix/sasl_passwd
Agregue el host de retransmisión SMTP y las credenciales SMTP a este archivo como se muestra a continuación. Reemplazar api-key
y secret-key
con tu clave API real de Mailjet y tu clave secreta.
in-v3.mailjet.com:587 api-key:secret-key
Guarde y cierre el archivo. Luego cree el archivo hash db correspondiente con postmap
.
sudo postmap /etc/postfix/sasl_passwd
Ahora debería tener un archivo /etc/postfix/sasl_passwd.db
. Reinicie Postfix para que los cambios surtan efecto.
sudo systemctl restart postfix
Por defecto, sasl_passwd
y sasl_passwd.db
Cualquier usuario del servidor puede leer el archivo. Cambie el permiso a 600 para que solo la raíz 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á correos electrónicos a través de Mailjet.
Paso 2:agregar direcciones de remitente
Debe agregar el dominio del remitente o la dirección del remitente para enviar un correo electrónico a través de Mailjet. En el panel de Mailjet, haz clic en manage sender addresses
. Puede validar todo su dominio o direcciones de correo electrónico específicas.
Paso 3:Configuración de la autenticación de dominio
En este paso, debemos configurar el registro SPF y DKIM, lo cual es muy recomendable si desea que sus correos electrónicos lleguen a la bandeja de entrada del destinatario en lugar de a la carpeta de correo no deseado.
- SPF:marco de política del remitente. Este es un registro DNS que especifica qué direcciones IP pueden enviar correos electrónicos desde su dominio.
- DKIM:correo identificado de claves de dominio. Mailjet firmará digitalmente tus correos electrónicos con una clave privada. El registro DKIM contiene una clave pública que permite que el servidor de correo electrónico del destinatario verifique la firma.
En el panel de Mailjet, haz clic en setup domain authentication
. De forma predeterminada, tanto el estado SPF como el estado DKIM son erróneos. Haz clic en manage
y siga las instrucciones para agregar registros SPF y DKIM.
Después de crear los registros SPF y DKIM, espere unos momentos y actualice la página web de Mailjet. Sus nuevos registros DNS pueden tardar algún tiempo en propagarse en Internet, según su servicio de alojamiento de DNS. Si los registros SPF y DKIM están configurados correctamente y la propagación está completa, mailjet le indicará que los registros SPF y DKIM son buenos.
Envío de correo electrónico de prueba
Ahora podemos enviar un correo electrónico de prueba con mailx
comando como a continuación.
sudo apt install bsd-mailx echo "this is a test email." | mailx -r from-address -s hello to-address
También puede enviar un correo electrónico de prueba desde su cliente de correo web o cliente de correo de escritorio. También es una buena idea probar su puntaje de correo electrónico en https://www.mail-tester.com. Como puede ver, obtuve una puntuación perfecta.
Resolución de problemas
Si su correo electrónico no se entregó y encontró 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 deba editar /etc/postfix/sasl_passwd
y elimine el número de puerto después del nombre de host como se muestra a continuación.
in-v3.mailjet.com api-key:secret-key
Guarde y cierre el archivo. A continuación, vuelva a crear el archivo de índice.
sudo postmap /etc/postfix/sasl_passwd
Reinicie Postfix para que los cambios surtan efecto.
sudo systemctl restart postfix
Ahora puede vaciar la cola de correo electrónico (intentar entregar los correos electrónicos anteriores).
sudo postqueue -f
Adición de dominios adicionales
Si configura un servidor de correo en una máquina nueva para un nuevo nombre de dominio y desea configurar la retransmisión SMTP para este nuevo nombre de dominio, siga los mismos pasos:
- Configure los ajustes de retransmisión SMTP de Postfix,
- Validar el nuevo nombre de dominio en el panel de control de Mailjet
- Configurar verificaciones SPF y DKIM