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.orgosmtp.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 077Instala el agente de transporte de correos Postfix.
Debian
root@test-instance:~# apt update && apt -y install postfix libsasl2-modulesEn CentOS
root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -yCuando se te solicite, selecciona la configuración
Local Onlyy 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.cfSi existen, comenta las líneas siguientes.
# default_transport = error # relay_transport = errorPara agregar el servicio SMTP de Mailgun, agrega la línea siguiente al final del archivo.
relayhost = [smtp.mailgun.org]:2525Si 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 = noanonymousGuarda 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 << EOFCuando se te solicite, ingresa los detalles del servicio y reemplaza
YOUR_SMTP_LOGINyYOUR_SMTP_PASSWORDpor 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_PASSWORDPara cerrar y guardar el archivo, escribe el delimitador
EOF.> EOF
Usa la herramienta
postmappara generar un archivo.db.root@test-instance:~# postmap /etc/postfix/sasl_passwdroot@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_passwdEstablece los permisos en tu archivo
.db.root@test-instance:~# chmod 600 /etc/postfix/sasl_passwd.dbroot@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 restartCentOS
[root@test-centos ~]# postfix reloadPrueba la configuración. Instala el paquete
mailxomailutilsy prueba tu configuración.Debian
root@test-wheezy:~# apt -y install mailutilsCentOS
[root@test-centos ~]# yum install mailx -yEnvía un mensaje de prueba.
root@test-instance:~# echo 'Test passed.' | mail -s 'Test-Email' EMAIL@EXAMPLE.COMBusca en los registros del sistema una línea de estado que contenga
statusy el código de respuesta correcto del servidor(250).Debian
root@test-wheezy:~# tail -n 5 /var/log/syslogEn 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.