Como enviar e-mails com o Mailgun

Mailgun é um serviço de e-mail de terceiros que oferece aos usuários do Compute Engine até 10.000 e-mails gratuitos por mês. Esse serviço oferece também API programática, retenção de registros, análise, personalização e validação de e-mails e muito mais.

Siga estas instruções para se inscrever e usar o Mailgun.

Antes de começar

  1. Crie uma nova conta do Mailgun na página de parceiro do Google* do Mailgun. Como usuário do Compute Engine, suas primeiras 30.000 mensagens são gratuitas todo mês. Confira a calculadora de preços mensais do Mailgun para ver os preços de mensagens extras e descontos por volume.

  2. Solicite suas credenciais. Nas instruções, você precisará saber seu nome de usuário, senha e nome de host SMTP do Mailgun. Solicite seu nome de usuário e senha no painel de controle do Mailgun, na seção Domínios.

    O nome de host SMTP do Mailgun é smtp.mailgun.org.

Redirecionamento com Postfix

Se o Mailgun for configurado como um redirecionamento de e-mail, o Postfix encaminhará e-mails destinados a entregas remotas.

  1. Conecte-se à instância usando SSH.

    gcloud compute ssh INSTANCE
    
  2. Conecte-se como um superusuário e configure um umask seguro:

    user@test-instance:~$ sudo su -
    
    root@test-instance:~# umask 077
    
  3. Instale o agente de transporte de e-mail Postfix. Quando solicitado, aceite as opções padrão para os nomes de domínio, mas selecione a configuração 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. Modifique as opções de configuração do Postfix. As opções de configuração do Postfix são definidas no arquivo main.cf. Abra o arquivo com o editor de texto da sua preferência:

    root@test-instance:~# vi /etc/postfix/main.cf
    
  5. Comente as seguintes linhas, se existirem:

    # default_transport = error
    # relay_transport = error
    
  6. Adicione o serviço SMTP do Mailgun incluindo a seguinte linha no fim do arquivo:

    relayhost = [smtp.mailgun.org]:2525
    
  7. Depois, adicione as seguintes linhas para aplicar a compatibilidade SSL/TLS e configurar a autenticação STMP para essas solicitações. Na configuração do Postfix, a autenticação é processada por um módulo de Camada simples de autenticação e segurança (SASL, na sigla em inglês). Adicione estas linhas ao final do arquivo:

    smtp_tls_security_level = encrypt
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    

    Salve as alterações e feche o arquivo.

  8. Gere um mapa de senha SASL:

    1. Crie um novo arquivo de senha que esteja pronto para entrada padrão.

      root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
      
    2. No prompt, insira os detalhes do serviço, substituindo YOUR_SMTP_LOGIN e YOUR_SMTP_PASSWORD pelas suas credenciais.

      > [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
      
    3. Feche e salve o arquivo digitando o delimitador EOF.

      > EOF
      
  9. Use o utilitário postmap para gerar um arquivo .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. Depois remova o arquivo que contém as suas credenciais, uma vez que ele não é mais necessário:

    root@test-instance:~# rm /etc/postfix/sasl_passwd
    
  11. Defina as permissões no seu arquivo .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 fim, atualize sua configuração para carregar os parâmetros modificados:

    Debian


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

    CentOS


    [root@test-centos ~]# postfix reload
    

  13. Teste sua configuração. Instale o pacote mailx ou o mailutils e teste a configuração.

    Debian


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

    CentOS


    [root@test-centos ~]# yum install mailx -y
    

    Envie uma mensagem de teste:

    root@test-instance:~# echo 'Test passed.' | mail -s Test-Email EMAIL@EXAMPLE.COM
    

    Nos registros do sistema, procure uma linha de status que contenha status e o código de resposta bem-sucedida do servidor (250):

    Debian


    root@test-wheezy:~# tail -n 5 /var/log/syslog
    

    CentOS


    [root@test-centos ~]# tail -n 5 /var/log/maillog
    

Para mais informações e exemplos detalhados sobre vários outros tópicos, inclusive rastreamento e encaminhamento de mensagens, leia a documentação do Mailgun.

Configurações de SMTP do Mailgun

Esta é uma referência rápida para configurações de SMTP específicas do Mailgun usadas para configurar clientes:

  • host: smtp.mailgun.org
  • porta: 2525

* O Google será compensado pelos clientes que se inscreverem para uma conta não gratuita.

Conheça outros recursos do Google Cloud Platform. Veja nossos tutoriais.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine