Vous aurez besoin d’un compte Mailgun et d’un accès aux DNS de votre domaine.
Documentation officielle de Mailgun : Ajouter et vérifier un domaine · Clés API · S’inscrire
1. Ajoutez votre domaine d’envoi à Mailgun
Dans le tableau de bord de Mailgun, allez sur Send → Domains → Add New Domain et saisissez un sous-domaine, par exemple mail.yourdomain.com.
⚠️ La propre recommandation de Mailgun est d’utiliser un sous-domaine, et cela importe davantage ici qu’avec certains autres fournisseurs : Mailgun configure ses propres enregistrements SPF et DKIM sur tout ce que vous lui fournissez, et le faire pointer vers votre domaine racine signifie que ces enregistrements cohabiteront avec ceux dont dépendent vos boîtes de messagerie professionnelles.
Choisissez la région qui correspond à l’endroit où vous souhaitez héberger vos données — US ou EU. Notez-la ; vous en aurez besoin à l’étape 4, et il s’agit de l’erreur la plus fréquente.
2. Publiez les enregistrements DNS fournis par Mailgun
Mailgun vous présente une liste. Ajoutez chacun d’entre eux chez votre fournisseur DNS.
| Type | Hôte | Objectif |
|---|
TXT | mail.yourdomain.com | SPF — v=spf1 include:mailgun.org ~all |
TXT | mailo._domainkey.mail.yourdomain.com | Clé publique DKIM |
CNAME | email.mail.yourdomain.com | Suivi et gestion des rebonds |
MX | mail.yourdomain.com | Réception des rebonds (les deux hôtes MX de Mailgun) |
⛔ Si votre sous-domaine d’envoi possède déjà un enregistrement SPF, modifiez-le — n’en ajoutez pas un second. Un domaine comportant deux enregistrements TXT SPF échoue catégoriquement au SPF, ce qui est pire que de n’en avoir aucun.
Cliquez ensuite sur Verify DNS Settings dans Mailgun. Cela peut prendre jusqu’à une heure pour passer au vert.
⭐ Ajoutez les enregistrements MX même si vous effectuez uniquement des envois. C’est ainsi que Mailgun recueille les rebonds. Sans eux, une adresse invalide rebondit dans le vide, Mailgun ne peut pas la bloquer, et vous continuerez de payer pour envoyer vers une adresse qui ne recevra jamais rien.
3. Récupérez votre clé API
Send → Sending → Domain settings → API keys, ou la page API Keys de votre compte.
Utilisez une clé d’envoi (sending key) dédiée à ce domaine si votre forfait le propose, plutôt que la clé API privée de votre compte. Une clé d’envoi peut uniquement envoyer ; la clé privée peut lire vos journaux et modifier votre compte. Il n’y a aucune raison pour que nous conservions cette dernière.
4. Connectez-la dans Zinn®
Ouvrez Email sending dans votre tableau de bord et renseignez :
- Fournisseur — Mailgun
- Envoyer depuis ce domaine —
mail.yourdomain.com (un domaine, pas une adresse)
- Domaine d’envoi Mailgun — le même domaine que celui que vous avez ajouté dans Mailgun
- Région —
us ou eu, en accord avec l’étape 1
- Clé API Mailgun — la clé obtenue à l’étape 3
⛔⛔ Sélectionnez la bonne région. Les comptes Mailgun hébergés dans l’UE sont gérés depuis un hôte API totalement différent. Envoyer la clé d’un compte EU à l’hôte US renvoie une erreur « 401 Unauthorized » — ce qui s’apparente exactement à une clé erronée. Si votre clé est incontestablement correcte et que vous rencontrez une erreur 401, c’en est presque toujours la cause.
5. Envoyez le test et saisissez le code
Cliquez sur Send test message, en utilisant une boîte de réception située sur un autre domaine — une adresse Gmail est idéale. Relevez le code dans cette boîte de réception et saisissez-le. Vos envois d’e-mails basculent immédiatement.
En cas de problème
401 Unauthorized — mauvaise région (voir ci-dessus), ou vous avez collé une clé issue d’un autre compte Mailgun. Régénérez la clé plutôt que de la retaper ; le préfixe key- s’efface facilement.
L’e-mail de test n’arrive jamais — consultez la page Logs de Mailgun. Si Mailgun n’en a absolument aucune trace, l’identifiant ou le nom de domaine est incorrect. Si Mailgun l’a accepté et qu’il a échoué par la suite, la raison y sera clairement indiquée, et il s’agit presque toujours d’un problème DNS.
« Domain not found » — le champ Domaine d’envoi Mailgun doit correspondre exactement au domaine tel qu’indiqué par Mailgun, sous-domaine compris. Pour Mailgun, yourdomain.com et mail.yourdomain.com constituent deux domaines distincts.
Cela fonctionnait, puis s’est arrêté — vérifiez si votre période d’essai gratuit a pris fin. Les comptes d’essai de Mailgun ne peuvent envoyer qu’à des destinataires autorisés, si bien que l’e-mail de test vers votre propre adresse continuera de fonctionner tandis que l’ensemble des envois destinés à vos clients échouera silencieusement.