Mailgun: Solução de SMTP Relay no Postfix para servidores VPS

Mailgun é mais uma solução externa para entrega de emails, a diferença é que a conta gratuita permite enviar 10 mil emails mensais sem limitações diárias como na maioria dos concorrentes, e ainda permite adicionar até 5 domínios customizados pela mesma conta gratuita.

Há algum tempo atrás escrevi um tutorial de como usar o Mandrill para essa mesma função, porém eles mudaram a política e agora só é possivel enviar 2 mil emails na conta gratuita (o limite era 12 mil mensais anteriormente). Na minha opinião eles são a melhor empresa pois pertencem ao mesmo grupo da MailChimp, e as mensagens são todas entregues na caixa de entrada.

O Mailgun, em meus testes, também entrega na caixa de entrada sendo fácil de configurar. E com o limite de 10 mil mensais dá para enviar muito email marketing e newsletter sem se preocupar muito. Leia mais sobre os limites da conta clicando aqui.

Já mostramos como configurar o Postfix para enviar usando um SMTP Relay, autenticando a conta e os usuários, neste link e neste outro. Neste tutorial explicarei novamente porém de uma forma mais resumida, e optando por envios seletivos (para múltiplos domínios no mesmo servidor).

SMTP Relay com Mailgun e Postfix

* Este tutorial foi testado em nosso servidor Debian 7 com ISPConfig 3 e Postfix, clique aqui e veja como instalar. Consideraremos que a sua tabela DNS de domínio já esteja configurada e devidamente propagada.

Crie uma conta gratuita no Mailgun e configure o domínio

A Crie uma conta: Clique neste link para criar uma conta no Mailgun: https://mailgun.com/signup

» Company/Account Name: <– FatorBinario (pode ser o nome do seu site aqui)

» Your Name: <– Luis (o seu nome)

» Your Email: <– [email protected] (o email que irá gerenciar a conta)

» Password: <– digite uma senha e confirme no próximo campo

» Add payment info now: <– <desmarcado> (apesar do aviso na tela não há necessidade de se adicionar um cartão de crédito ou outra forma de pagamento para habilitar a conta, veremos isso abaixo)

» Responda o captcha e clique em “Create Account“. *Será enviado um email de confirmação para habilitar a conta.

B Adicione um domínio: Selecione a opção “Domains” no menu e clique no botão “Add New Domain“. Digite o nome do seu domínio sem o “www” e clique em “Add Domain“. Na próxima tela iremos verificar o domínio.

C Adicione os registros DNS do domínio: Isso é necessário, se não fizermos este passo a conta ficará limitada a enviar somente 300 emails diários. Nesta tela veremos 5 passos mas precisamos executar somente o segundo “Add DNS Records For Sending“. Adicione o texto “include:mailgun.org” no seu registro SPF e crie um registro TXT para a chave DKIM do domínio (cole a chave entre aspas duplas no registro).

* Na tela de configuração não aparece mas temos que incluir um “ponto” no final do “hostname” quando criarmos o registro. Exemplo: “fatorbinario.com.”. Já mostramos várias vezes como fazer isso, mas se ainda tiver dúvidas siga este link.

D Verifique o domínio: Após copiar os valores e adicionar os registros cloque no botão “Continue to Domain Overview” . Na próxima tela logo abaixo de “Domain Verification & DNS” clique no botão “Check DNS Records Now“. Se a tabela estiver propagada e com os registros inseridos uma mensagem em verde “Active” aparecerá no campo “State”.

E Crie uma credencial para o SMTP Relay: Fazendo isso não precisaremos usar as credenciais da conta principal no Postfix. Ao lado de “Default Password” clique em “Manage SMTP credentials“.  Em seguida clique no botão “New SMTP Credential“. Em login escreva um alias qualquer, exemplo: mgsmtp (esse email servirá somente para configurarmos o acesso pelo Postfix). Digite e confirme uma senha, anote-a pois vamos precisar usá-la abaixo. O seu login da API será [email protected].

2 Configure o Postfix para enviar os emails por SMTP Relay

A Edite o arquivo /etc/postfix/main.cf e modifique/adicione as seguintes linhas (os números das linhas são referentes ao arquivo original, se você alterou o arquivo por algum motivo encontre-as):

# Linha 23:

smtpd_use_tls = yes
# Modifique a linha 35 para um valor nulo

relayhost =
# Adicione estas linhas ao final (lembre-se de deixar uma linha vazia no final do arquivo para prevenir problemas). Isso ira ativar o SASL para autenticação externa

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_maps
smtp_sasl_security_options = noanonymous

B Em seguida edite o arquivo /etc/postfix/sasl_passwd. *Se o arquivo não existir crie-o com o seguinte comando “> touch /etc/postfix/sasl_passwd“, MAS SOMENTE  EXECUTE O COMANDO touch SE O ARQUIVO NÃO EXISTIR ou você poderá danificar outras configurações. Dentro do arquivo adicione a seguinte linha (substituindo o email e a senha pelos da credencial criada no passo 1E acima):

[smtp.mailgun.org]:587 [email protected]:senha_da_credencial

C Edite o arquivo /etc/postfix/relayhost_maps. *Se o arquivo não existir crie-o com o seguinte comando “> touch /etc/postfix/relayhost_maps“, MAS SOMENTE  EXECUTE O COMANDO touch SE O ARQUIVO NÃO EXISTIR ou você poderá danificar outras configurações. Dentro do arquivo adicione a seguinte linha (substituindo seudominio.com pelo nome do seu domínio adicionado no passo 1B):

@seudominio.com [smtp.mailgun.org]:587

*Como já explicamos em outros tutoriais você pode adicionar emails ou domínios de forma seletiva neste arquivo. Exemplo: [email protected] fará com que somente emails de newsletter sejam enviados pelo Mailgun, os demais poderiam usar um outro serviço ou, se não estiverem relacionados aqui, serão enviados diretamente pelo servidor.

D Salve os arquivos e execute os comandos finais do Postfix para usar as novas configurações:

> postmap /etc/postfix/sasl_passwd

> postmap /etc/postfix/relayhost_maps

/etc/init.d/postfix restart

Teste enviando alguns emails, no cabeçalho deverá aparecer que foi enviado usando o Mailgun. Caso o email não seja entregue verifique o arquivo de log /var/log/mail.log e veja nas últimas linhas se houve algum problema.

NOTAS:

Na minha opinião o serviço oferecido pelo Mailgun é tão eficiente quanto o do Mandrill porém mais fácil de configurar.

Para empresas que revendem hospedagem pode-se usar as dicas deste tutorial para criar várias contas no Mailgun e em outros serviços que oferecem SMTP Relay, e configurar o Postfix para, de forma seletiva, enviar por essas contas.

Algumas semanas após eu publicar o tutorial de Mandrill a empresa cancelou o plano de 12 mil emails mensais gratuitos para contas novas, que era excelente. Não perca essa oportunidade com o Mailgun.

©2014-2024 Fator Binário - Todos os direitos reservados

Fazer login com suas credenciais

Esqueceu sua senha?