Google Cloud colabora con Mailgun para ofrecer un servicio de correo electrónico que incluye una API programática, retención de registros, personalización de correos, analíticas y validación de correos.
En las siguientes instrucciones se explica cómo configurar Mailgun como relay de correo con Postfix.
Antes de empezar
Regístrate y crea una cuenta de Mailgun en Google Cloud Marketplace.
Obtén tus credenciales. Para seguir las instrucciones, debes conocer tu nombre de usuario, contraseña y nombre de host de SMTP de Mailgun. Obtén tu nombre de usuario y contraseña en el panel de control de Mailgun, en la sección Domains (Dominios).
En función de cómo se configure el dominio en Mailgun, el nombre de host SMTP será
smtp.mailgun.orgosmtp.eu.mailgun.org.Configura tus reglas de cortafuegos para permitir el tráfico saliente en el puerto TCP
2525.
Configurar Mailgun como un relay de correo con Postfix
Configurar Mailgun como un relay de correo permite que el agente de transferencia de correo Postfix reenvíe los correos destinados a la entrega remota.
Conéctate a tu instancia mediante SSH.
gcloud compute ssh [INSTANCE_NAME]donde
[INSTANCE_NAME]es el nombre de la instancia de VM desde la que quieres enviar el correo.Conviértete en superusuario y define una umask segura.
user@test-instance:~$ sudo su -root@test-instance:~# umask 077Instala el agente de transporte de correo Postfix.
Debian
root@test-instance:~# apt update && apt -y install postfix libsasl2-modulesCentOS
root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -yCuando se te pida, 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 definen 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 siguientes líneas.
# default_transport = error # relay_transport = errorAñade el servicio SMTP de Mailgun añadiendo la siguiente línea al final del archivo.
relayhost = [smtp.mailgun.org]:2525Para aplicar la compatibilidad con SSL/TLS y configurar la autenticación SMTP para estas solicitudes, añade las siguientes líneas al final del archivo. Un módulo de nivel de seguridad y acceso simples (SASL) gestiona 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ñas SASL.
Crea un archivo de contraseñas nuevo que esté listo para la entrada estándar.
root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOFCuando se te pida, introduce los detalles del servicio y sustituye
YOUR_SMTP_LOGINyYOUR_SMTP_PASSWORDpor tus credenciales. Consulta la ayuda de Mailgun para obtener instrucciones sobre cómo ver o cambiar tus credenciales por dominio.> [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORDCierra y guarda el archivo escribiendo el delimitador,
EOF.> EOF
Usa la utilidad
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, elimina el archivo que contiene tus credenciales, ya que no es necesario.
root@test-instance:~# rm /etc/postfix/sasl_passwdDefine los permisos del 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 tu 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 de tu sistema una línea de estado que contenga
statusy el código de respuesta del servidor correcto(250).Debian
root@test-wheezy:~# tail -n 5 /var/log/syslogCentOS
[root@test-centos ~]# tail -n 5 /var/log/maillog
Para ver ejemplos detallados e información sobre otros temas, como el seguimiento y el enrutamiento de mensajes, consulta la documentación de Mailgun.
Consulta arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Centro de arquitectura de Cloud.