O Google Cloud trabalha com o Mailgun para fornecer um serviço de e-mail que tenha uma API programática, retenção de registros, personalização, análise e validação de e-mails.
As instruções a seguir mostram como configurar o Mailgun como um redirecionamento de e-mail com o Postfix.
Antes de começar
Inscreva-se e crie uma nova conta da Mailgun no Google Cloud Marketplace.
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.
Dependendo de como o domínio está configurado no Mailgun, o nome do host SMTP é
smtp.mailgun.org
ousmtp.eu.mailgun.org
.Configure as regras de firewall para permitir tráfego de saída na porta TCP
2525
.
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.
Conecte-se à instância usando SSH.
gcloud compute ssh [INSTANCE_NAME]
em que
[INSTANCE_NAME]
é o nome da instância de VM da qual os e-mails serão enviados.Conecte-se como superusuário e configure um umask seguro.
user@test-instance:~$ sudo su -
root@test-instance:~# umask 077
Instale o agente de transporte de e-mail 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
Quando solicitado, selecione a configuração
Local Only
e aceite as opções padrão para os nomes de domínio.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
Converta as seguintes linhas em comentários, se existirem:
# default_transport = error # relay_transport = error
Adicione o serviço SMTP do Mailgun incluindo a seguinte linha no fim do arquivo:
relayhost = [smtp.mailgun.org]:2525
Para aplicar o suporte SSL/TLS e configurar a autenticação SMTP para essas solicitações, adicione as seguintes linhas ao final do arquivo: Na configuração do Postfix, a autenticação é processada por um módulo de camada de acesso simples e de segurança (SASL).
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.
Gere um mapa de senhas SASL:
Crie um novo arquivo de senha que esteja pronto para entrada padrão.
root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
No prompt, insira os detalhes do serviço, substituindo
YOUR_SMTP_LOGIN
eYOUR_SMTP_PASSWORD
pelas suas credenciais. Consulte a Ajuda do Mailgun (em inglês) para instruções sobre como ver ou alterar as credenciais por domínio.> [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
Feche e salve o arquivo digitando o delimitador,
EOF
.> EOF
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
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
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
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
Teste sua configuração. Instale o pacote
mailx
oumailutils
e teste a 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
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).
Confira arquiteturas de referência, diagramas e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.