Google Cloud trabaja con Mailgun para proporcionar un servicio de correo electrónico que tiene una API programática, retención de registros, personalización del correo electrónico, estadísticas y validación de correo electrónico.
En las siguientes instrucciones, se muestra cómo configurar Mailgun como una retransmisión de correo electrónico con Postfix.
Antes de comenzar
Regístrate y crea una cuenta nueva de Mailgun en Google Cloud Marketplace.
Obtén tu credencial Las instrucciones requieren que conozcas tu nombre de usuario, la contraseña y el nombre de host del SMTP de Mailgun. Obtén tu nombre de usuario y contraseña desde el panel de control de Mailgun, en la sección Dominios.
Según la configuración del dominio en Mailgun, el nombre de host del SMTP es
smtp.mailgun.org
osmtp.eu.mailgun.org
.Configura las reglas de firewall para permitir el tráfico saliente en el puerto TCP
2525
.
Configura Mailgun como retransmisión de correo con Postfix
Si configuras Mailgun como servicio de retransmisión de correo, permitirás que el agente de transferencia de correo de Postfix reenvíe correos electrónicos destinados a la entrega remota.
Conéctate a la instancia mediante SSH.
gcloud compute ssh [INSTANCE_NAME]
[INSTANCE_NAME]
es el nombre de la instancia de VM desde la que quieres enviar correo electrónico.Conviértete en superusuario y establece una umask de seguridad.
user@test-instance:~$ sudo su -
root@test-instance:~# umask 077
Instala el agente de transporte de correos Postfix.
Debian
root@test-instance:~# apt update && apt -y install postfix libsasl2-modules
CentOS
root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -y
Cuando se te solicite, selecciona la configuración
Local Only
y acepta las opciones predeterminadas para los nombres de dominio.Modifica las opciones de configuración de Postfix. Las opciones de configuración de Postfix se establecen en el archivo
main.cf
. Abre el archivo con el editor de texto que prefieras.root@test-instance:~# vi /etc/postfix/main.cf
Si existen, comenta las líneas siguientes.
# default_transport = error # relay_transport = error
Para agregar el servicio SMTP de Mailgun, agrega la línea siguiente al final del archivo.
relayhost = [smtp.mailgun.org]:2525
Si quieres aplicar la compatibilidad con SSL/TLS y configurar la autenticación SMTP para estas solicitudes, agrega las siguientes líneas al final del archivo. Un módulo simple de acceso y capa de seguridad (SASL) maneja la autenticación en la configuración de Postfix.
smtp_tls_security_level = encrypt smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous
Guarda los cambios y cierra el archivo.
Genera el mapa de contraseña SASL.
Crea un archivo de contraseña nuevo que esté listo para la entrada estándar.
root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
Cuando se te solicite, ingresa los detalles del servicio y reemplaza
YOUR_SMTP_LOGIN
yYOUR_SMTP_PASSWORD
por tus credenciales. Consulta la ayuda de Mailgun a fin de obtener instrucciones para ver o cambiar tus credenciales por dominio.> [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
Para cerrar y guardar el archivo, escribe el delimitador
EOF
.> EOF
Usa la herramienta
postmap
para generar un archivo.db
.root@test-instance:~# postmap /etc/postfix/sasl_passwd
root@test-instance:~# ls -l /etc/postfix/sasl_passwd* -rw------- 1 root root 68 Jun 1 10:50 /etc/postfix/sasl_passwd -rw------- 1 root root 12288 Jun 1 10:51 /etc/postfix/sasl_passwd.db
A continuación, quita el archivo que contiene tus credenciales porque ya no es necesario.
root@test-instance:~# rm /etc/postfix/sasl_passwd
Establece los permisos en tu archivo
.db
.root@test-instance:~# chmod 600 /etc/postfix/sasl_passwd.db
root@test-instance:~# ls -la /etc/postfix/sasl_passwd.db -rw------- 1 root root 12288 Aug 31 18:51 /etc/postfix/sasl_passwd.db
Por último, vuelve a cargar la configuración para cargar los parámetros modificados:
Debian
root@test-wheezy:~# /etc/init.d/postfix restart
CentOS
[root@test-centos ~]# postfix reload
Prueba la configuración. Instala el paquete
mailx
omailutils
y prueba tu configuración.Debian
root@test-wheezy:~# apt -y install mailutils
CentOS
[root@test-centos ~]# yum install mailx -y
Envía un mensaje de prueba.
root@test-instance:~# echo 'Test passed.' | mail -s 'Test-Email' EMAIL@EXAMPLE.COM
Busca en los registros del sistema una línea de estado que contenga
status
y el código de respuesta correcto del servidor(250)
.Debian
root@test-wheezy:~# tail -n 5 /var/log/syslog
CentOS
[root@test-centos ~]# tail -n 5 /var/log/maillog
Para obtener más información y ejemplos detallados, incluido cómo rastrear y enrutar mensajes, consulta la documentación de Mailgun.
Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.