Google Cloud funciona com o Mailgun para fornecer um serviço de email com uma API programática, retenção de registos, personalização de emails, estatísticas e validação de emails.
As instruções seguintes mostram como configurar o Mailgun como um retransmissor de email com o Postfix.
Antes de começar
Inscreva-se e crie uma nova conta do Mailgun no Google Cloud Marketplace.
Obtenha as suas credenciais. As instruções requerem que saiba o nome de utilizador, a palavra-passe e o nome do anfitrião SMTP do Mailgun. Obtenha o seu nome de utilizador e palavra-passe no painel de controlo do Mailgun, na secção Domínios.
Consoante a forma como o domínio está configurado no Mailgun, o nome do anfitrião SMTP é
smtp.mailgun.org
ousmtp.eu.mailgun.org
.Configure as regras de firewall para permitir o tráfego de saída na porta TCP
2525
.
Configurar o Mailgun como um retransmissor de correio com o Postfix
Configurar o Mailgun como um retransmissor de correio permite que o agente de transferência de correio Postfix encaminhe emails destinados à entrega remota.
Ligue-se à sua instância através de SSH.
gcloud compute ssh [INSTANCE_NAME]
em que
[INSTANCE_NAME]
é o nome da instância de VM a partir da qual quer enviar email.Torne-se superutilizador e defina uma umask segura.
user@test-instance:~$ sudo su -
root@test-instance:~# umask 077
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
Quando lhe for pedido, selecione a configuração
Local Only
e aceite as opções predefinidas para os nomes de domínio.Modifique as opções de configuração do Postfix. As opções de configuração do Postfix são definidas no ficheiro
main.cf
. Abra o ficheiro com o editor de texto à sua escolha.root@test-instance:~# vi /etc/postfix/main.cf
Se existirem, comente as seguintes linhas.
# default_transport = error # relay_transport = error
Adicione o serviço SMTP do Mailgun adicionando a seguinte linha ao fim do ficheiro.
relayhost = [smtp.mailgun.org]:2525
Para aplicar a compatibilidade com SSL/TLS e configurar a autenticação SMTP para estes pedidos, adicione as seguintes linhas ao final do ficheiro. Um módulo de camada de segurança e acesso simples (SASL) processa 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
Guarde as alterações e feche o ficheiro.
Gere o mapa de palavras-passe SASL.
Crie um novo ficheiro de palavras-passe pronto para a entrada padrão.
root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
No comando, introduza os detalhes do serviço, substituindo
YOUR_SMTP_LOGIN
eYOUR_SMTP_PASSWORD
pelas suas credenciais. Consulte a ajuda do Mailgun para ver instruções sobre como ver ou alterar as suas credenciais por domínio.> [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
Feche e guarde o ficheiro escrevendo o delimitador
EOF
.> EOF
Use o utilitário
postmap
para gerar um ficheiro.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 ficheiro que contém as suas credenciais, uma vez que já não é necessário.
root@test-instance:~# rm /etc/postfix/sasl_passwd
Defina as autorizações no seu ficheiro
.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, recarregue a configuração para carregar os parâmetros modificados.
Debian
root@test-wheezy:~# /etc/init.d/postfix restart
CentOS
[root@test-centos ~]# postfix reload
Teste a configuração. Instale o pacote
mailx
oumailutils
e teste a 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 registos dos seus sistemas uma linha de estado que contenha
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 ver exemplos detalhados e informações sobre outros tópicos, incluindo o seguimento e o encaminhamento de mensagens, leia a documentação do Mailgun.
Explore arquiteturas de referência, diagramas e práticas recomendadas sobre o Google Cloud. Consulte o nosso Centro de arquitetura na nuvem.