Como enviar e-mails com o Mailgun

O Mailgun (em inglês) é um serviço terceirizado de e-mail que oferece aos usuários do Compute Engine até 10.000 mensagens de e-mail gratuitas por mês. O Mailgun oferece também uma 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* (em inglês) 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 (em inglês) para ver os preços de mensagens extras e descontos por volume.

  2. Solicite suas credenciais. Nas instruções, você precisará fornecer 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.

  3. Configure as regras de firewall para permitir tráfego de saída na porta TCP 2525.

* O Google é remunerado por clientes que se inscrevem em uma conta paga.

Como configurar o Mailgun como um redirecionamento de e-mail com o Postfix

Configurar o Mailgun como um redirecionamento de e-mail permite que o agente de transferência de e-mail do Postfix (em inglês) encaminhe e-mails destinados à entrega remota.

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

    gcloud compute ssh [INSTANCE_NAME]
    

    em que [INSTANCE_NAME] é o nome da instância de VM a partir de que os e-mails serão enviados.

  2. Conecte-se como 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 do 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. Elas são definidas no arquivo main.cf. Abra o arquivo com o editor de texto de 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 linhas a seguir 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. Em seguida, remova o arquivo que contém suas credenciais porque 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 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 informações e exemplos detalhados sobre outros tópicos, como rastreamento e encaminhamento de mensagens, leia a documentação do Mailgun (em inglês).

Configurações de SMTP do Mailgun

Configure clientes usando estas configurações de SMTP específicas do Mailgun:

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

Teste outros recursos do Google Cloud Platform. Veja os tutoriais.

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

Enviar comentários sobre…

Documentação do Compute Engine