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 de correo electrónico, análisis y validación de correo electrónico.
Las siguientes instrucciones le muestran cómo configurar Mailgun como retransmisión de correo electrónico con Postfix.
Antes de comenzar
Regístrese y cree una nueva cuenta de Mailgun en Google Cloud Marketplace .
Obtenga sus credenciales. Las instrucciones requieren que conozca su nombre de usuario, contraseña y nombre de host SMTP de Mailgun. Obtenga su nombre de usuario y contraseña desde el panel de control de Mailgun, en la sección Dominios .
Dependiendo de cómo esté configurado el dominio en Mailgun, el nombre de host SMTP es
smtp.mailgun.org
osmtp.eu.mailgun.org
.Configure sus reglas de firewall para permitir el tráfico saliente en el puerto TCP
2525
.
Configurar Mailgun como retransmisión de correo con Postfix
Configurar Mailgun como retransmisión de correo permite al agente de transferencia de correo de Postfix reenviar correos electrónicos destinados a la entrega remota.
Conéctese a su instancia mediante SSH.
gcloud compute ssh [INSTANCE_NAME]
donde
[INSTANCE_NAME]
es el nombre de la instancia de VM desde donde desea enviar el correo electrónico.Conviértete en superusuario y configura una máscara de usuario segura.
user@test-instance:~$ sudo su -
root@test-instance:~# umask 077
Instale el Agente de transporte de correo 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 le solicite, seleccione la configuración
Local Only
y acepte las opciones predeterminadas para los nombres de dominio.Modifique las opciones de configuración de Postfix. Las opciones de configuración de Postfix se establecen en el archivo
main.cf
Abra el archivo con el editor de texto de su elección.root@test-instance:~# vi /etc/postfix/main.cf
Si existen, comente las siguientes líneas.
# default_transport = error # relay_transport = error
Agregue el servicio SMTP Mailgun agregando la siguiente línea al final del archivo.
relayhost = [smtp.mailgun.org]:2525
Para aplicar la compatibilidad con SSL/TLS y configurar la autenticación SMTP para estas solicitudes, agregue las siguientes líneas al final del archivo. Un módulo de capa de seguridad y acceso simple (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
Guarde sus cambios y cierre el archivo.
Genere el mapa de contraseñas SASL.
Cree un nuevo archivo de contraseña que esté listo para la entrada estándar.
root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
Cuando se le solicite, ingrese los detalles del servicio, reemplazando
YOUR_SMTP_LOGIN
yYOUR_SMTP_PASSWORD
con sus credenciales. Consulte la ayuda de Mailgun para obtener instrucciones sobre cómo ver o cambiar sus credenciales por dominio.> [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
Cierre y guarde el archivo escribiendo el delimitador,
EOF
.> EOF
Utilice la utilidad
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, elimine el archivo que contiene sus credenciales porque ya no es necesario.
root@test-instance:~# rm /etc/postfix/sasl_passwd
Establezca los permisos en su 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
Finalmente, vuelva a cargar su configuración para cargar los parámetros modificados.
Debian
root@test-wheezy:~# /etc/init.d/postfix restart
CentOS
[root@test-centos ~]# postfix reload
Pruebe su configuración. Instale el paquete
mailx
omailutils
y pruebe su 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
Busque en los registros de su sistema una línea de estado que contenga
status
y el código de respuesta exitosa 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 ejemplos detallados e información sobre otros temas, incluido el seguimiento y enrutamiento de mensajes, lea la documentación de Mailgun .
Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Eche un vistazo a nuestro Centro de arquitectura en la nube .