// comment corriger
Domaine MAIL FROM personnalisé Amazon SES : alignement SPF pour DMARC
Amazon SES utilise un domaine de rebond amazonses.com, donc le SPF ne s'aligne pas pour DMARC. Configurez un sous-domaine MAIL FROM avec le bon MX et le bon SPF.
Ce que ça veut dire
Chaque email comporte deux adresses d'expéditeur. L'adresse From est celle que voient les gens. Le MAIL FROM (aussi appelé expéditeur d'enveloppe, Return-Path ou adresse de rebond) sert aux serveurs pour renvoyer les rebonds. Le SPF vérifie le domaine du MAIL FROM, pas celui du From.
Par défaut, Amazon SES utilise un sous-domaine de amazonses.com comme MAIL FROM. Le SPF passe, mais pour amazonses.com, pas pour votre domaine. Or DMARC exige que le SPF ou le DKIM passe pour un domaine aligné sur votre domaine From. Avec les réglages par défaut, le SPF ne compte donc jamais pour DMARC. Dans un rapport, cela ressemble à ceci :
spf=pass smtp.mailfrom=0100018abc...@us-east-1.amazonses.com dkim=pass header.d=yourdomain.com dmarc=pass header.from=yourdomain.com
Ici, DMARC passe quand même grâce au DKIM. Mais vous dépendez du seul DKIM : si un transfert ou un pied de page ajouté par une passerelle casse la signature, DMARC échoue. Un domaine MAIL FROM personnalisé vous donne une seconde validation alignée. Le principe général est expliqué dans Return-Path, expéditeur d'enveloppe et From.
Pourquoi cela arrive
- Aucun domaine MAIL FROM personnalisé n'est configuré sur l'identité (c'est le réglage par défaut).
- Un domaine MAIL FROM personnalisé est configuré, mais son statut est Pending, TemporaryFailure ou Failed. Avec l'option de repli Use default MAIL FROM domain, SES revient silencieusement à
amazonses.com. - Le sous-domaine MAIL FROM a deux enregistrements MX, ou aucun, ou une mauvaise Région dans la valeur du MX.
- Votre enregistrement DMARC impose un alignement SPF strict (
aspf=s). Un sous-domaine commemail.yourdomain.comne s'aligne qu'en mode relaxed, le mode par défaut.
Comment vérifier
Envoyez un email via SES à l'adresse unique de la page d'accueil de Delivmail et ouvrez le rapport. Regardez le domaine vérifié par le SPF et si la section DMARC indique que le SPF est aligné. Si vous voyez amazonses.com, le MAIL FROM personnalisé n'est pas actif. Dans la console SES, ouvrez Identities, votre domaine, puis le panneau Custom MAIL FROM domain pour voir son statut. Depuis un terminal :
dig +short MX mail.yourdomain.com dig +short TXT mail.yourdomain.com dig +short TXT _dmarc.yourdomain.com
Comment corriger
- Choisissez un sous-domaine dédié, par exemple
mail.yourdomain.comoubounce.yourdomain.com. AWS exige qu'il s'agisse d'un sous-domaine d'une identité vérifiée, qui ne sert ni d'adresse From ni à recevoir des emails. Ne réutilisez pas un sous-domaine qui a déjà des enregistrements MX pour une boîte mail. - Dans la console : Identities, votre domaine, Custom MAIL FROM domain, Edit. Cochez Use a custom MAIL FROM domain, saisissez le sous-domaine et choisissez le Behavior on MX failure (comportement en cas d'échec du MX). Use default MAIL FROM domain continue d'envoyer si le DNS est cassé ; Reject message bloque l'envoi avec une erreur
MailFromDomainNotVerified. - Publiez les deux enregistrements affichés par SES, en remplaçant la Région par la vôtre :
mail.yourdomain.com. MX 10 feedback-smtp.us-east-1.amazonses.com mail.yourdomain.com. TXT "v=spf1 include:amazonses.com ~all"
Il doit y avoir exactement un enregistrement MX sur ce sous-domaine, sinon la configuration échoue. L'enregistrement SPF se place sur le sous-domaine, pas sur votre domaine principal : il ne consomme donc aucune des 10 requêtes DNS de votre SPF principal. Si le sous-domaine a déjà un CNAME, supprimez-le d'abord : un CNAME ne peut pas cohabiter avec des enregistrements MX ou TXT (voir conflit entre CNAME et enregistrements MX ou TXT).
Avec la CLI, le même réglage s'écrit :
aws sesv2 put-email-identity-mail-from-attributes \ --email-identity yourdomain.com \ --mail-from-domain mail.yourdomain.com \ --behavior-on-mx-failure USE_DEFAULT_VALUE
SES cherche l'enregistrement MX pendant 72 heures au maximum. S'il ne le trouve pas, le statut passe en Failed et vous devez recommencer la configuration. Répétez l'opération pour chaque Région où l'identité est utilisée.
Conservez l'alignement relaxed dans DMARC (pas de aspf=s), sinon le sous-domaine ne s'alignera pas. Si d'autres services envoient aussi pour votre domaine, voyez comment les faire cohabiter dans plusieurs services d'email sur un même domaine. Pour les bases de DMARC, consultez DMARC échoue : SPF et DKIM ne correspondent pas à votre domaine.
Vérifier que c'est corrigé
Attendez le statut Success dans la console (SES envoie aussi un email au propriétaire du compte). Lancez un nouveau test Delivmail : le SPF doit désormais passer pour mail.yourdomain.com, et DMARC doit montrer le SPF et le DKIM alignés. Renvoyez ensuite au destinataire dont le serveur avait refusé ou filtré votre message. Selon le TTL, les modifications DNS peuvent mettre un certain temps à atteindre tous les résolveurs.
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
- Aucun enregistrement SPF sur votre domaineVotre domaine n'indique pas quels serveurs ont le droit d'envoyer des emails en son nom. Ajoutez un enregistrement TXT et les destinataires sauront distinguer vos vrais emails des faux.
- Erreur SPF : trop de requêtes DNS (permerror)Le SPF autorise au maximum 10 requêtes DNS. Au-delà, tout l'enregistrement est cassé et les destinataires le considèrent comme invalide. Voici comment l'alléger.
- Plusieurs enregistrements SPF sur un même domaineUn domaine ne doit avoir qu'un seul enregistrement SPF. Avec deux ou plus, le SPF échoue pour tous vos emails. Fusionnez-les en une seule ligne.
- Échec SPF : le serveur d'envoi n'est pas autoriséVotre domaine a un enregistrement SPF, mais le serveur qui a envoyé votre email n'y figure pas. Trouvez quel service a envoyé l'email et ajoutez-le.
- Aucune signature DKIM sur vos emailsLe DKIM ajoute une signature numérique qui prouve qu'un email vient bien de votre domaine. Activez-le chez votre fournisseur de messagerie et publiez sa clé dans le DNS.