Enviando email com Mailgun,Enviando email com Mailgun


Google Cloud trabalha com Mailgun para fornecer um serviço de e-mail que possui API programática, retenção de log, personalização de e-mail, análise e validação de e-mail.

As instruções a seguir mostram como configurar o Mailgun como um retransmissor de e-mail com Postfix.

Antes de começar

  1. Cadastre-se e crie uma nova conta Mailgun no Google Cloud Marketplace .

  2. Obtenha suas credenciais. As instruções exigem que você saiba seu nome de usuário, senha e nome de host SMTP do Mailgun. Obtenha seu nome de usuário e senha no painel de controle do Mailgun, na seção Domínios .

    Dependendo de como o domínio está configurado no Mailgun, o nome do host SMTP é smtp.mailgun.org ou smtp.eu.mailgun.org .

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

Configurando o Mailgun como um retransmissor de email com Postfix

Configurar o Mailgun como um retransmissor de correio permite que o agente de transferência de correio Postfix encaminhe e-mails destinados à entrega remota.

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

    gcloud compute ssh [INSTANCE_NAME]
    

    onde [INSTANCE_NAME] é o nome da instância de VM de onde você deseja enviar e-mail.

  2. Torne-se um superusuário e defina uma umask segura.

    user@test-instance:~$ sudo su -
    
    root@test-instance:~# umask 077
    
  3. Instale o agente de transporte de correio Postfix.

    Debian

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

    CentOS

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

  4. Quando solicitado, selecione a configuração Local Only e aceite as opções padrão para nomes de domínio.

  5. 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 de sua preferência.

    root@test-instance:~# vi /etc/postfix/main.cf
    
  6. Se existirem, comente as linhas a seguir.

    # default_transport = error
    # relay_transport = error
    
  7. Adicione o serviço Mailgun SMTP adicionando a seguinte linha ao final do arquivo.

    relayhost = [smtp.mailgun.org]:2525
    
  8. Para impor o suporte SSL/TLS e configurar a autenticação SMTP para essas solicitações, adicione as linhas a seguir ao final do arquivo. Um módulo de camada simples de acesso e segurança (SASL) lida com a autenticação na configuração do Postfix.

    smtp_tls_security_level = encrypt
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    
  9. Salve suas alterações e feche o arquivo.

  10. Gere o 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. Consulte a ajuda do Mailgun para obter instruções sobre como visualizar ou alterar suas credenciais por domínio.

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

      > EOF
      
  11. 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
    
  12. 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
    
  13. Defina as permissões em 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
    
  14. Finalmente, recarregue sua configuração para carregar os parâmetros modificados.

    Debian

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

    CentOS

    [root@test-centos ~]# postfix reload
    

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

    Debian

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

    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
    

    Procure nos logs do sistema uma linha de status contendo status e o código de resposta do servidor bem-sucedido (250) .

    Debian

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

    CentOS

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

Para obter exemplos detalhados e informações sobre outros tópicos, incluindo rastreamento e roteamento de mensagens, leia a documentação do Mailgun .

Explore arquiteturas de referência, diagramas e práticas recomendadas sobre o Google Cloud. Dê uma olhada em nosso Centro de Arquitetura de Nuvem .

,

Google Cloud trabalha com Mailgun para fornecer um serviço de e-mail que possui API programática, retenção de log, personalização de e-mail, análise e validação de e-mail.

As instruções a seguir mostram como configurar o Mailgun como um retransmissor de e-mail com Postfix.

Antes de começar

  1. Cadastre-se e crie uma nova conta Mailgun no Google Cloud Marketplace .

  2. Obtenha suas credenciais. As instruções exigem que você saiba seu nome de usuário, senha e nome de host SMTP do Mailgun. Obtenha seu nome de usuário e senha no painel de controle do Mailgun, na seção Domínios .

    Dependendo de como o domínio está configurado no Mailgun, o nome do host SMTP é smtp.mailgun.org ou smtp.eu.mailgun.org .

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

Configurando o Mailgun como um retransmissor de email com Postfix

Configurar o Mailgun como um retransmissor de correio permite que o agente de transferência de correio Postfix encaminhe e-mails destinados à entrega remota.

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

    gcloud compute ssh [INSTANCE_NAME]
    

    onde [INSTANCE_NAME] é o nome da instância de VM de onde você deseja enviar e-mail.

  2. Torne-se um superusuário e defina uma umask segura.

    user@test-instance:~$ sudo su -
    
    root@test-instance:~# umask 077
    
  3. Instale o agente de transporte de correio Postfix.

    Debian

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

    CentOS

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

  4. Quando solicitado, selecione a configuração Local Only e aceite as opções padrão para nomes de domínio.

  5. 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 de sua preferência.

    root@test-instance:~# vi /etc/postfix/main.cf
    
  6. Se existirem, comente as linhas a seguir.

    # default_transport = error
    # relay_transport = error
    
  7. Adicione o serviço Mailgun SMTP adicionando a seguinte linha ao final do arquivo.

    relayhost = [smtp.mailgun.org]:2525
    
  8. Para impor o suporte SSL/TLS e configurar a autenticação SMTP para essas solicitações, adicione as linhas a seguir ao final do arquivo. Um módulo de camada simples de acesso e segurança (SASL) lida com a autenticação na configuração do Postfix.

    smtp_tls_security_level = encrypt
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    
  9. Salve suas alterações e feche o arquivo.

  10. Gere o 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. Consulte a ajuda do Mailgun para obter instruções sobre como visualizar ou alterar suas credenciais por domínio.

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

      > EOF
      
  11. 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
    
  12. 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
    
  13. Defina as permissões em 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
    
  14. Finalmente, recarregue sua configuração para carregar os parâmetros modificados.

    Debian

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

    CentOS

    [root@test-centos ~]# postfix reload
    

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

    Debian

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

    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
    

    Procure nos logs do sistema uma linha de status contendo status e o código de resposta do servidor bem-sucedido (250) .

    Debian

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

    CentOS

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

Para obter exemplos detalhados e informações sobre outros tópicos, incluindo rastreamento e roteamento de mensagens, leia a documentação do Mailgun .

Explore arquiteturas de referência, diagramas e práticas recomendadas sobre o Google Cloud. Dê uma olhada em nosso Centro de Arquitetura de Nuvem .