Amazon SES : guide complet de configuration DNS et authentification email

Par CaptainDNS
Publié le 20 janvier 2026

Schéma montrant le flux d'envoi email Amazon SES avec authentification DKIM, SPF et DMARC
TL;DR
  • Amazon SES offre un envoi email à 0.10$/1000 emails avec 7 régions EU pour la conformité RGPD.
  • Easy DKIM génère 3 CNAME qui servent à la fois de vérification de domaine et de signature DKIM (rotation auto tous les 90 jours).
  • Custom MAIL FROM est indispensable pour l'alignement SPF DMARC, sans lui, SPF authentifie avec amazonses.com.
  • Pour p=reject, combinez Easy DKIM + Custom MAIL FROM + alignement relaxed (adkim=r, aspf=r).

Pourquoi Amazon SES mérite votre attention ?

Amazon SES traite plus d'un trillion d'emails par an depuis son lancement en 2011. Avec une tarification à 0.10$ pour 1 000 emails (sans paliers de volume), c'est l'option la plus économique pour l'envoi transactionnel et marketing.

Ce qui change la donne :

  • API v2 (septembre 2019) : messages jusqu'à 40 MB, gestion native des unsubscribes, headers custom sans passer par Raw email
  • 7 régions EU : Frankfurt, Ireland, London, Paris, Stockholm, Milan, Zurich - DPA RGPD inclus automatiquement
  • Virtual Deliverability Manager : dashboard de réputation et recommandations automatisées

Ce guide se concentre sur la configuration DNS et l'authentification. L'objectif : une délivrabilité optimale compatible p=reject.

Architecture d'envoi SES et flux d'authentification

Flux d'authentification email Amazon SES avec DKIM, SPF et DMARC

Quand vous envoyez via SES :

  1. Votre application appelle l'API v2 ou utilise SMTP
  2. SES signe le message avec votre clé DKIM (domaine d=captaindns.com)
  3. Le serveur destinataire vérifie SPF (IP d'envoi), DKIM (signature), puis DMARC (alignement)

Configuration DNS complète

Easy DKIM : la méthode recommandée

Easy DKIM génère 3 enregistrements CNAME qui remplissent deux fonctions :

  • Vérification de propriété du domaine (pas besoin de TXT _amazonses)
  • Signature DKIM avec rotation automatique tous les 90 jours
{token1}._domainkey.captaindns.com  CNAME  {token1}.dkim.amazonses.com
{token2}._domainkey.captaindns.com  CNAME  {token2}.dkim.amazonses.com
{token3}._domainkey.captaindns.com  CNAME  {token3}.dkim.amazonses.com

Taille de clé : RSA 2048-bit par défaut (recommandé). La rotation gère automatiquement les rôles active/passive/pending entre les 3 CNAME.

Custom MAIL FROM : l'élément critique pour DMARC

Sans Custom MAIL FROM, l'enveloppe SMTP utilise amazonses.com comme domaine MAIL FROM. Résultat : SPF authentifie avec amazonses.com, pas votre domaine, l'alignement SPF DMARC échoue.

Enregistrements requis (exemple pour mail.captaindns.com) :

TypeNameValuePriority
MXmail.captaindns.comfeedback-smtp.eu-west-1.amazonses.com10
TXTmail.captaindns.com"v=spf1 include:amazonses.com ~all"-

Contraintes :

  • Le Custom MAIL FROM doit être un sous-domaine du domaine vérifié
  • Un seul enregistrement MX (plusieurs = échec)
  • Ce sous-domaine ne doit pas recevoir d'autres emails

SPF sur le domaine racine : optionnel mais recommandé

Si vous utilisez Easy DKIM + Custom MAIL FROM, SPF sur le domaine racine n'est pas requis pour DMARC (DKIM suffit). AWS recommande toutefois de le configurer :

captaindns.com  TXT  "v=spf1 include:amazonses.com ~all"

Alignement DMARC : configuration pour p=reject

Matrice d'alignement DMARC avec Amazon SES

Ce qui fonctionne (et ce qui casse)

Alignement DKIM (méthode principale) :

ConfigurationAligné ?DMARC via DKIM ?
Email vérifié seul (pas de domaine DKIM)NonNon
Domaine avec Easy DKIM activéOuiOui
Domaine avec BYODKIMOuiOui

Alignement SPF :

ConfigurationAligné ?DMARC via SPF ?
MAIL FROM par défaut (amazonses.com)NonNon
Custom MAIL FROM + aspf=r (relaxed)OuiOui
Custom MAIL FROM + aspf=s (strict)NonNon (mismatch subdomain)

Enregistrement DMARC recommandé

_dmarc.captaindns.com  TXT  "v=DMARC1;p=reject;adkim=r;aspf=r;rua=mailto:dmarc@captaindns.com"

Points clés :

  • adkim=r et aspf=r : alignement relaxed (autorise les sous-domaines)
  • Progressez de p=nonep=quarantinep=reject
  • Surveillez les rapports rua avant de durcir

Tableau récapitulatif DNS

TypeHost/NameValueObligatoire
CNAME{token1}._domainkey.captaindns.com{token1}.dkim.amazonses.comOui (Easy DKIM)
CNAME{token2}._domainkey.captaindns.com{token2}.dkim.amazonses.comOui (Easy DKIM)
CNAME{token3}._domainkey.captaindns.com{token3}.dkim.amazonses.comOui (Easy DKIM)
MXmail.captaindns.comfeedback-smtp.{region}.amazonses.comOui (Custom MAIL FROM)
TXTmail.captaindns.com"v=spf1 include:amazonses.com ~all"Oui (Custom MAIL FROM)
TXT_dmarc.captaindns.com"v=DMARC1;p=reject;adkim=r;aspf=r;..."Recommandé
CNAMEtrack.captaindns.comr.{region}.awstrack.meOptionnel (tracking)

Méthodes d'envoi : API v2 vs SMTP

API v2 (recommandée)

Endpoint : https://email.{region}.amazonaws.com

aws sesv2 send-email \
  --from-email-address "sender@captaindns.com" \
  --destination '{"ToAddresses":["recipient@captaindns.com"]}' \
  --content '{
    "Simple": {
      "Subject": {"Data": "Test"},
      "Body": {"Html": {"Data": "<h1>Hello</h1>"}}
    }
  }' \
  --configuration-set-name "my-config-set"

Avantages v2 :

  • Messages jusqu'à 40 MB (vs 10 MB en v1)
  • Headers custom natifs (List-Unsubscribe sans Raw email)
  • ListManagementOptions pour la gestion des listes

Interface SMTP

Endpoint : email-smtp.{region}.amazonaws.com

PortProtocoleRecommandation
25STARTTLSSouvent bloqué par ISPs
465TLS impliciteAlternative
587STARTTLSRecommandé
2587STARTTLSAlternative au 587

Headers X-SES-* disponibles :

  • X-SES-CONFIGURATION-SET : associer un configuration set
  • X-SES-MESSAGE-TAGS : ajouter des tags (key=value)

Quotas et limites à connaître

QuotaSandboxProduction
Emails/24h200~50 000-100 000 (initial)
Taux d'envoi1/sec~14-50/sec (initial)
Destinataires/message5050
Taille message (API v2)40 MB40 MB

Sortir du sandbox : via Console SES ou AWS CLI, délai ~24h si demande complète.

Seuils de réputation : les chiffres critiques

Dashboard de réputation Amazon SES avec seuils d'alerte

MétriqueWarningMaximumAction
Bounce Rate5%10%Account review
Complaint Rate0.1%0.2%Account review

Bonnes pratiques :

  • Activer la account-level suppression list (auto-supprime les hard bounces)
  • Configurer des alertes CloudWatch sur Reputation.BounceRate et Reputation.ComplaintRate
  • Soft bounces : SES retry automatiquement pendant 12h

Tarification 2025

ComposantPrix
Emails envoyés$0.10 / 1 000
Données sortantes (attachments)$0.12 / GB (1er GB gratuit)
IP dédiée standard$24.95 / mois / IP
Managed Dedicated IPs$15/mois + $0.08-0.02/1000 selon volume
Virtual Deliverability Manager$0.07 / 1 000 emails

Free tier (nouveaux comptes) : 3 000 emails/mois pendant 12 mois.

Plan d'action : configuration en 6 étapes

  1. Créer une identité domaine dans la console SES (région EU de votre choix)
  2. Configurer Easy DKIM : publier les 3 CNAME fournis par SES
  3. Attendre la vérification : jusqu'à 72h pour la propagation DNS
  4. Configurer Custom MAIL FROM : créer le sous-domaine avec MX et TXT SPF
  5. Publier l'enregistrement DMARC : commencer par p=none, monitorer les rapports
  6. Sortir du sandbox : soumettre la demande de production access

FAQ

Faut-il obligatoirement configurer Custom MAIL FROM ?

Pour l'alignement SPF DMARC, oui. Sans Custom MAIL FROM, SPF authentifie avec amazonses.com, ce qui casse l'alignement. Si vous comptez uniquement sur DKIM pour DMARC (ce qui fonctionne), Custom MAIL FROM reste recommandé pour la défense en profondeur.

Quelle région EU choisir pour le RGPD ?

Les 7 régions EU (Frankfurt, Ireland, London, Paris, Stockholm, Milan, Zurich) sont toutes conformes RGPD avec DPA inclus automatiquement. Choisissez selon la latence et la disponibilité SMTP (Milan et Zurich n'ont pas d'endpoint SMTP).

Les 3 CNAME Easy DKIM sont-ils tous actifs simultanément ?

Non. Un seul CNAME est actif (résout avec une clé publique p=...) à un moment donné. Les deux autres sont en rotation (passive/pending). SES gère automatiquement la rotation tous les ~90 jours.

Comment tester la configuration avant d'envoyer en production ?

En sandbox, envoyez vers des adresses vérifiées. Utilisez aws sesv2 send-email avec un configuration set configuré pour publier les événements vers SNS ou CloudWatch. Vérifiez les headers DKIM et SPF reçus.

Glossaire

  • Easy DKIM : méthode SES qui génère et gère automatiquement les clés DKIM via 3 enregistrements CNAME, avec rotation automatique.

  • Custom MAIL FROM : sous-domaine configuré pour remplacer le domaine MAIL FROM par défaut (amazonses.com), requis pour l'alignement SPF DMARC.

  • BYODKIM : Bring Your Own DKIM - option pour utiliser vos propres clés DKIM au lieu de celles générées par SES (1 seul enregistrement TXT).

  • Configuration Set : ensemble de règles SES pour le tracking, les notifications d'événements et les politiques TLS.

  • Sandbox : mode initial des comptes SES limitant l'envoi à 200 emails/jour vers des adresses vérifiées uniquement.

  • Virtual Deliverability Manager (VDM) : fonctionnalité payante SES offrant un dashboard de métriques et des recommandations automatisées de délivrabilité.

Sources officielles

Articles similaires