Envía correos electrónicos con Mailgun

Mailgun es un servicio de correo electrónico de terceros que ofrece a los usuarios de Compute Engine hasta 10,000 mensajes de correo electrónico gratuitos por mes. Mailgun también ofrece una API programática, la retención de registros, la personalización del correo electrónico, estadísticas, validación de correo electrónico y otras opciones.

Sigue estas instrucciones para registrarte y usar Mailgun.

Antes de comenzar

  1. Crea una cuenta nueva de Mailgun en la página de socio de Google* de Mailgun. Como usuario de Compute Engine, tus primeros 30,000 mensajes son gratuitos cada mes. Consulta la Calculadora de precios mensual de Mailgun para ver cuánto cuesta enviar mensajes adicionales y los descuentos por volumen.

  2. 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.

    El nombre de host del SMTP de Mailgun es smtp.mailgun.org.

  3. Configura tus reglas de firewall para permitir el tráfico saliente en el puerto TCP 2525.

* Google recibe compensación por los clientes que se registran para una cuenta no gratuita.

Configura Mailgun como retransmisión de correo con Postfix

La configuración de Mailgun como retransmisión de correo permite que el agente de transferencia de correo de Postfix reenvíe correos electrónicos destinados a la entrega remota.

  1. Conéctate a tu instancia con SSH.

    gcloud compute ssh [INSTANCE_NAME]
    

    en el que [INSTANCE_NAME] es el nombre de la instancia de VM desde la que quieres enviar el correo electrónico.

  2. Conviértete en superusuario y establece una umask de seguridad.

    user@test-instance:~$ sudo su -
    
    root@test-instance:~# umask 077
    
  3. Instala el agente de transporte de correos Postfix. Cuando se te solicite, acepta las opciones predeterminadas para los nombres de dominio, pero selecciona la configuración Local Only.

    Debian


    root@test-instance:~# apt-get update && apt-get install postfix libsasl2-modules -y
    

    CentOS


    root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -y
    

  4. 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
    
  5. Si existen, comenta las líneas siguientes.

    # default_transport = error
    # relay_transport = error
    
  6. Para agregar el servicio SMTP de Mailgun, agrega la línea siguiente al final del archivo.

    relayhost = [smtp.mailgun.org]:2525
    
  7. A continuación, se agregan las líneas siguientes con el fin de aplicar la compatibilidad con SSL/TLS y configurar la autenticación STMP para estas solicitudes. Un módulo simple de acceso y capa de seguridad (SASL) maneja la autenticación en la configuración de Postfix. Agrega las líneas siguientes al final del archivo.

    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.

  8. Genera el mapa de contraseña SASL.

    1. Crea un archivo de contraseña nuevo que esté listo para la entrada estándar.

      root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
      
    2. Cuando se te solicite, ingresa los detalles del servicio y reemplaza YOUR_SMTP_LOGIN y YOUR_SMTP_PASSWORD por tus credenciales.

      > [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
      
    3. Para cerrar y guardar el archivo, escribe el delimitador, EOF.

      > EOF
      
  9. Usa 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
    
  10. A continuación, quita el archivo que contiene tus credenciales porque ya no es necesario.

    root@test-instance:~# rm /etc/postfix/sasl_passwd
    
  11. 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
    
  12. Por último, vuelve a cargar tu configuración para cargar los parámetros modificados:

    Debian


    root@test-wheezy:~# /etc/init.d/postfix restart
    

    CentOS


    [root@test-centos ~]# postfix reload
    

  13. Prueba la configuración. Instala el paquete mailx o mailutils y prueba tu configuración.

    Debian


    root@test-wheezy:~# apt-get install mailutils -y
    

    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 tus 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.

Configuración SMTP de Mailgun

Use la configuración siguiente del SMTP específica de Mailgun para configurar clientes:

  • Host: smtp.mailgun.org
  • Puerto: 2525

Prueba otras funciones de Google Cloud Platform. Consulta nuestros instructivos.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Compute Engine