Você precisará de uma conta no Mailgun e de acesso ao DNS do seu domínio.
Documentação do próprio Mailgun: Como adicionar e verificar um domínio · Chaves de API · Cadastre-se
1. Adicione seu domínio de envio ao Mailgun
No painel do Mailgun, acesse Send → Domains → Add New Domain e insira um subdomínio, por exemplo, mail.yourdomain.com.
⚠️ A orientação do próprio Mailgun é usar um subdomínio, e isso é ainda mais importante aqui do que em outros provedores: o Mailgun define seus próprios registros SPF e DKIM para qualquer domínio fornecido e, ao apontá-lo para seu domínio raiz, esses registros passarão a coexistir com aqueles de que suas caixas de e-mail profissionais dependem.
Escolha a região correspondente ao local onde você deseja armazenar seus dados — US ou EU. Anote essa informação; você precisará dela na etapa 4, e este é o erro mais comum de acontecer.
2. Publique os registros DNS fornecidos pelo Mailgun
O Mailgun exibirá uma lista. Adicione cada um deles no seu provedor de DNS.
| Tipo | Host | Finalidade |
|---|
TXT | mail.yourdomain.com | SPF — v=spf1 include:mailgun.org ~all |
TXT | mailo._domainkey.mail.yourdomain.com | Chave pública DKIM |
CNAME | email.mail.yourdomain.com | Rastreamento e processamento de devoluções (bounces) |
MX | mail.yourdomain.com | Recebimento de devoluções (os dois hosts MX do Mailgun) |
⛔ Se o seu subdomínio de envio já possui um registro SPF, edite-o — não adicione um segundo. Um domínio com dois registros SPF TXT falha completamente no SPF, o que é pior do que não ter nenhum.
Em seguida, clique em Verify DNS Settings no Mailgun. Pode levar até uma hora para que o status fique verde.
⭐ Adicione os registros MX mesmo que você vá apenas enviar e-mails. É por meio deles que o Mailgun coleta devoluções. Sem eles, um endereço inválido é devolvido para lugar nenhum, o Mailgun não consegue suprimi-lo e você continuará pagando para enviar mensagens a um endereço que nunca receberá nada.
3. Obtenha sua chave de API
Send → Sending → Domain settings → API keys, ou a página API Keys da sua conta.
Se o seu plano oferecer, utilize uma chave de envio (sending key) com escopo limitado a este domínio, em vez da chave de API privada da sua conta. Uma chave de envio pode apenas enviar; a chave privada pode ler seus registros e alterar sua conta. Não há motivo para que tenhamos acesso à segunda.
4. Conecte-o no Zinn®
Abra Email sending no seu painel e preencha:
- Provider — Mailgun
- Send from this domain —
mail.yourdomain.com (um domínio, não um endereço)
- Mailgun sending domain — o mesmo domínio adicionado no Mailgun
- Region —
us ou eu, de acordo com a etapa 1
- Mailgun API key — a chave obtida na etapa 3
⛔⛔ Certifique-se de escolher a região correta. Contas do Mailgun hospedadas na EU utilizam um host de API completamente diferente. Enviar a chave de uma conta da EU para o host dos US retornará "401 Unauthorized" — o que parece exatamente um erro de chave incorreta. Se a sua chave estiver comprovadamente correta e você estiver recebendo o erro 401, esta é quase sempre a razão.
5. Envie o teste e insira o código
Clique em Send test message, utilizando uma caixa de entrada em um domínio diferente — um endereço do Gmail é ideal. Localize o código nessa caixa de entrada e insira-o. Seu envio de e-mails será migrado imediatamente.
Quando não funciona
401 Unauthorized — região incorreta (veja acima), ou você colou uma chave de uma conta diferente do Mailgun. Gere a chave novamente em vez de digitá-la; é fácil esquecer o prefixo key-.
A mensagem de teste nunca chega — verifique a página Logs do Mailgun. Se o Mailgun não registrar absolutamente nada, a credencial ou o nome de domínio está incorreto. Se o Mailgun aceitou o envio e houve falha posterior, o motivo estará descrito claramente lá, e quase sempre se trata de DNS.
"Domain not found" — o campo Mailgun sending domain deve conter exatamente o domínio como listado no Mailgun, incluindo o subdomínio. yourdomain.com e mail.yourdomain.com são dois domínios diferentes para o Mailgun.
Funcionou e depois parou — verifique se o seu período de teste gratuito terminou. Contas de teste do Mailgun só podem enviar para destinatários autorizados, portanto a mensagem de teste para o seu próprio endereço continua funcionando, enquanto todos os envios para seus clientes falham silenciosamente.