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
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.
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.
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 os 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 do Postfix. Quando solicitado, aceite as opções padrão para nomes de domínio, mas selecione a configuração
Local Only
.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
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
Depois, adicione as linhas a seguir para aplicar a compatibilidade SSL/TLS e configurar a autenticação SMTP 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.
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).
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. Veja nossos tutoriais.