// comment corriger
Mailgun « Sandbox subdomains are for test purposes only » (403) : la solution
Mailgun refuse d'envoyer depuis votre domaine sandbox vers une adresse non autorisée. Autorisez vos adresses de test ou ajoutez votre propre domaine.
Ce que ça veut dire
Chaque nouveau compte Mailgun reçoit un domaine sandbox, un nom du type sandbox1234abcd.mailgun.org, pour tester immédiatement l'API ou le SMTP. Il ne livre qu'aux destinataires autorisés : des adresses que vous avez ajoutées et qui ont confirmé. Si vous écrivez à quelqu'un d'autre, Mailgun refuse le message, généralement avec un statut HTTP 403 et ce texte très souvent signalé :
Sandbox subdomains are for test purposes only. Please add your own domain or add the address to authorized recipients in Account Settings.
Ni votre code ni vos identifiants ne sont en cause : la requête a bien été authentifiée, mais le destinataire n'est pas autorisé pour un domaine sandbox.
Pourquoi cela arrive
- Votre application utilise encore le domaine sandbox en production, parce que c'était la valeur par défaut d'un tutoriel, d'un plugin ou d'une variable d'environnement (
MAILGUN_DOMAIN). - Le destinataire a été ajouté mais n'a pas confirmé. Mailgun envoie une invitation ; l'adresse n'est autorisée qu'une fois que le destinataire a cliqué sur le lien.
- La limite de destinataires est atteinte. Le centre d'aide de Mailgun indique que vous pouvez ajouter jusqu'à 5 destinataires autorisés (au moment où nous écrivons ces lignes).
- Votre offre restreint l'envoi. Le centre d'aide de Mailgun précise que les comptes gratuits sans carte bancaire enregistrée, ainsi que les domaines sandbox, ne peuvent envoyer qu'à des destinataires autorisés.
- Plusieurs destinataires dans une même requête : une seule adresse non autorisée en To, Cc ou Bcc suffit à déclencher l'erreur.
- Les Routes et les listes de diffusion du domaine sandbox ont la même restriction : une Route qui transfère vers une adresse extérieure, ou une liste dont des membres ne sont pas autorisés, échoue de la même façon.
La sandbox existe pour empêcher que de nouveaux comptes servent à envoyer du spam à des inconnus avant que leur propriétaire ait prouvé qu'il contrôle un vrai domaine. C'est pourquoi aucun réglage ne lève la restriction sur la sandbox elle-même : la solution consiste toujours à autoriser l'adresse de test ou à passer à votre propre domaine.
Comment vérifier
- Regardez le domaine dans l'URL de votre API ou dans votre identifiant SMTP. Une URL comme
https://api.mailgun.net/v3/sandbox1234abcd.mailgun.org/messages, ou un utilisateur SMTPpostmaster@sandbox1234abcd.mailgun.org, signifie que vous êtes sur la sandbox. - Dans le panneau Mailgun, ouvrez Send, Domains, le domaine sandbox, puis son onglet de configuration : les destinataires autorisés et leur statut y sont listés.
- Ouvrez les Logs du message en échec : ils indiquent la raison complète.
Comment corriger
Pour vos tests : autorisez le destinataire
Ajoutez l'adresse de test comme destinataire autorisé dans les réglages du domaine sandbox (seuls les utilisateurs ayant le rôle Administrator ou Developer peuvent le faire). Demandez au propriétaire de l'adresse d'ouvrir l'invitation et de confirmer. Puis réessayez. Cette option est réservée à vous et à votre équipe, pas à vos clients.
Pour de vrais envois : ajoutez votre propre domaine
Ajoutez un domaine qui vous appartient dans Send, Domains, Add new domain. Un sous-domaine comme mg.yourdomain.com est un choix courant. Publiez les enregistrements SPF et DKIM et vérifiez le domaine ; les détails et les erreurs DNS habituelles sont dans domaine Mailgun non vérifié. Modifiez ensuite la configuration de votre application :
# .env (example) MAILGUN_DOMAIN=mg.yourdomain.com MAIL_FROM_ADDRESS=hello@mg.yourdomain.com # EU domain? use the EU endpoint MAILGUN_ENDPOINT=api.eu.mailgun.net
Utilisez une adresse From sur votre domaine vérifié, jamais sur la sandbox. Si votre compte vous limite aux destinataires autorisés à cause de votre offre, ajoutez vos informations de facturation ou changez d'offre comme l'indique le panneau Mailgun.
Si, après le changement de domaine, vous obtenez 401 ou « Forbidden », la clé API ou la région ne correspond pas au nouveau domaine : voir Mailgun 401 Forbidden : clé API et région EU. Les identifiants SMTP sont liés à un domaine : créez-en donc aussi de nouveaux pour votre propre domaine.
Vérifier que c'est corrigé
Envoyez un message depuis votre application via votre propre domaine Mailgun à l'adresse unique de la page d'accueil de Delivmail. L'adresse de test n'est pas un destinataire autorisé : si le message arrive, vous n'êtes plus sur la sandbox. Lisez le rapport : SPF, DKIM et DMARC doivent passer pour votre domaine. Renvoyez ensuite aux vrais destinataires qui avaient été refusés. L'arrivée en boîte de réception dépend toujours de votre réputation et de votre contenu.
Vérifiez que c'est corrigé
Une modification DNS peut prendre de quelques minutes à quelques heures. Ensuite, envoyez un nouvel email de test ou scannez à nouveau votre domaine.
Fiches liées
- Erreur Gmail « 550 5.7.26 » : email non authentifiéGmail a refusé votre email parce qu'il n'a pas pu confirmer qu'il vient de votre domaine. Le SPF, le DKIM ou le DMARC est absent ou en échec. Voici comment corriger.
- Erreur « 550 5.7.1 » : message refusé ou bloqué par une règleUne erreur 5.7.1 signifie que le serveur de réception a refusé votre email volontairement. Apprenez à lire les messages d'erreur, à trouver la vraie raison et à la corriger.
- Taux de rebond élevé : nettoyez votre liste de diffusionEnvoyer à des adresses qui n'existent plus abîme vite votre réputation. Apprenez la différence entre hard bounces et soft bounces, et retirez les mauvaises adresses après chaque envoi.
- Emails retardés : greylisting et erreurs temporaires 4xxCertains serveurs répondent « réessayez plus tard » volontairement. Un serveur de messagerie normal réessaie et l'email arrive quelques minutes en retard. Voici comment distinguer les retards normaux des vrais problèmes.
- Reports « 421 4.7.0 [TSS04] » chez Yahoo et AOLYahoo refuse temporairement vos emails à cause de leur volume ou des plaintes. Ralentissez, laissez les nouvelles tentatives se faire et corrigez ce qui déplaît à Yahoo.