Amazon SES : guide complet de configuration DNS et authentification email
Par CaptainDNS
Publié le 20 janvier 2026
Mis à jour le 29 septembre 2026

- Amazon SES offre un envoi email à 0,10 $ les 1 000 emails en tarification à l'unité, avec 7 régions en Europe.
- Easy DKIM génère 3 CNAME qui servent à la fois de vérification de domaine et de signature DKIM (rotation automatique gérée par AWS).
- 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). - Si les bounces montent alors que SPF et DKIM passent, regardez la réputation par source : les tenants SES isolent chaque client ou application, sans protéger le compte.
Pourquoi Amazon SES mérite votre attention ?
Amazon SES traite plus de mille milliards d'emails par an depuis son lancement en 2011. Avec une tarification à 0,10 $ les 1 000 emails à l'unité (hors plans Essentials, Pro et Enterprise), c'est l'une des options les plus économiques pour l'envoi transactionnel et marketing.
Ce qui change la donne :
- API v2 (septembre 2019) : messages jusqu'à 40 Mo, gestion native des désabonnements, en-têtes personnalisés sans passer par Raw email
- 7 régions Europe : Francfort, Irlande, Londres, Paris, Stockholm, Milan, Zurich
- Virtual Deliverability Manager : tableau de bord 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

Quand vous envoyez via SES :
- Votre application appelle l'API v2 ou utilise SMTP
- SES signe le message avec votre clé DKIM (domaine
d=captaindns.com) - 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 des clés, gérée par AWS
{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
À Milan et Zurich, la cible inclut la région : {token}.dkim.eu-south-1.amazonses.com et {token}.dkim.eu-central-2.amazonses.com.
Taille de clé : RSA 2048-bit par défaut (recommandé).
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) :
| Type | Nom | Valeur | Priorité |
|---|---|---|---|
| MX | mail.captaindns.com | feedback-smtp.eu-west-1.amazonses.com | 10 |
| TXT | mail.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). Il sert surtout aux autres services qui envoient avec votre domaine racine :
captaindns.com TXT "v=spf1 include:amazonses.com ~all"
Alignement DMARC : configuration pour p=reject

Ce qui fonctionne (et ce qui casse)
Alignement DKIM (méthode principale) :
| Configuration | Aligné ? | DMARC via DKIM ? |
|---|---|---|
| Email vérifié seul (pas de domaine DKIM) | Non | Non |
| Domaine avec Easy DKIM activé | Oui | Oui |
| Domaine avec BYODKIM | Oui | Oui |
Alignement SPF :
| Configuration | Aligné ? | DMARC via SPF ? |
|---|---|---|
MAIL FROM par défaut (amazonses.com) | Non | Non |
| Custom MAIL FROM + aspf=r (relaxed) | Oui | Oui |
| Custom MAIL FROM + aspf=s (strict) | Non | Non (sous-domaine non aligné) |
Enregistrement DMARC recommandé
_dmarc.captaindns.com TXT "v=DMARC1;p=reject;adkim=r;aspf=r;rua=mailto:dmarc@captaindns.com"
Points clés :
adkim=retaspf=r: alignement relaxed (autorise les sous-domaines)- Progressez de
p=none→p=quarantine→p=reject - Surveillez les rapports
ruaavant de durcir
Tableau récapitulatif DNS
| Type | Hôte/Nom | Valeur | Obligatoire |
|---|---|---|---|
| CNAME | {token1}._domainkey.captaindns.com | {token1}.dkim.amazonses.com | Oui (Easy DKIM) |
| CNAME | {token2}._domainkey.captaindns.com | {token2}.dkim.amazonses.com | Oui (Easy DKIM) |
| CNAME | {token3}._domainkey.captaindns.com | {token3}.dkim.amazonses.com | Oui (Easy DKIM) |
| MX | mail.captaindns.com | feedback-smtp.{region}.amazonses.com | Oui (Custom MAIL FROM) |
| TXT | mail.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é |
| CNAME | track.captaindns.com | r.{region}.awstrack.me | Optionnel (suivi) |
À Milan et Zurich, la cible DKIM est {token}.dkim.<région>.amazonses.com.
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 Mo (vs 10 Mo en v1)
- En-têtes personnalisés natifs (List-Unsubscribe sans Raw email)
ListManagementOptionspour la gestion des listes
Interface SMTP
Endpoint : email-smtp.{region}.amazonaws.com
| Port | Protocole | Recommandation |
|---|---|---|
| 25 | STARTTLS | Limité par défaut sur EC2 |
| 465 | TLS implicite | Alternative |
| 2465 | TLS implicite | Alternative au 465 |
| 587 | STARTTLS | Recommandé |
| 2587 | STARTTLS | Alternative au 587 |
En-têtes X-SES-* disponibles :
X-SES-CONFIGURATION-SET: associer un configuration setX-SES-MESSAGE-TAGS: ajouter des tags (key=value)X-SES-TENANT: associer l'envoi à un tenant (avecX-SES-CONFIGURATION-SET)
Quotas et limites à connaître
| Quota | Sandbox | Production |
|---|---|---|
| Emails/24h | 200 | Variable selon le cas d'usage |
| Taux d'envoi | 1/sec | Variable selon le cas d'usage |
| Destinataires/message | 50 | 50 |
| Taille message (API v2) | 40 Mo | 40 Mo |
Sortir du sandbox : via Console SES ou AWS CLI, délai ~24h si demande complète.
Seuils de réputation : les chiffres critiques

| Métrique | Revue du compte | Pause possible |
|---|---|---|
| Taux de rebond | 5 % | 10 % |
| Taux de plainte | 0,1 % | 0,5 % |
AWS recommande de rester sous 2 % de bounces.
Bonnes pratiques :
- Vérifier que la liste de suppression du compte est active (par défaut pour les comptes créés depuis fin 2019) : elle couvre les hard bounces et les plaintes
- Avec des tenants, limiter la liste de suppression à chaque tenant (
SuppressionScope=TENANT) : un hard bounce va alors dans la liste du tenant et dans la liste globale gérée par AWS, pas dans celle du compte (tenants : voir ci-dessous) - Configurer des alertes CloudWatch sur
Reputation.BounceRateetReputation.ComplaintRate - Soft bounces : SES réessaie jusqu'à 14h par défaut, durée réglable de 5 min à 14h dans le configuration set (
MaxDeliverySeconds)
Tenants SES : isoler la réputation par client ou application
Une chute de délivrabilité ne vient pas forcément du DNS. SPF et DKIM peuvent passer alors que les bounces et les plaintes d'un client, d'une BU ou d'une application dégradent la réputation.
Un tenant est un conteneur logique dans votre compte SES. On lui associe des identités, des configuration sets et des modèles d'e-mail. Il a ses propres métriques de réputation : bounces, plaintes (y compris les boucles de rétroaction des FAI) et signaux tiers.
Pour envoyer au nom d'un tenant, passez le paramètre TenantName dans l'API v2. En SMTP, ajoutez l'en-tête X-SES-TENANT avec X-SES-CONFIGURATION-SET. Les ressources utilisées doivent être associées au tenant, sinon l'envoi échoue.
| Politique de réputation | Comportement | Seuils publiés par AWS |
|---|---|---|
| Standard (défaut, recommandée) | Mise en pause quand SES détecte un problème de haute sévérité | Bounces > 15 % ou plaintes > 1 % |
| Strict | Mise en pause dès un problème, même de faible sévérité | Bounces > 10 % ou plaintes > 0,5 % |
| None | Pas de mise en pause liée à la politique, les problèmes restent enregistrés. SES peut quand même mettre le tenant en pause en cas de problème grave | - |
Un tenant en pause ne peut plus envoyer, les autres tenants continuent. La réactivation est manuelle, via l'API UpdateReputationEntityCustomerManagedStatus. Une pause décidée par l'équipe Trust & Safety d'AWS passe par un dossier au Support. SES publie les problèmes détectés et les changements de statut dans EventBridge.
L'isolation limite l'impact d'une source, mais l'activité cumulée des tenants pèse toujours sur la réputation du compte, dont les seuils restent applicables.
Les tenants ne remplacent ni SPF, ni DKIM, ni DMARC, ni le Custom MAIL FROM.
Un tenant est régional et n'est pas répliqué : pour envoyer depuis plusieurs régions en Europe, créez-le dans chacune. Pas d'imbrication, 10 000 tenants par défaut (jusqu'à 300 000 sur demande). Facturation en plus, par tenant et par mois : voir la page tarifs SES.
Tarification à l'unité
| Composant | Prix |
|---|---|
| Emails envoyés | 0,10 $ / 1 000 |
| Données sortantes (pièces jointes) | 0,12 $ / Go |
| IP dédiée standard | 24,95 $ / mois / IP |
| Managed Dedicated IPs | 15 $ / mois + de 0,08 $ à 0,02 $ / 1 000, dégressif selon le volume |
| Virtual Deliverability Manager | 0,07 $ / 1 000 emails |
Plans SES : depuis le 21 juillet 2026, les nouveaux comptes (et les régions d'un compte existant sans envoi facturé depuis le 1er juin 2025) démarrent sur le plan Essentials, à 0,16 $ / 1 000 emails jusqu'à 10 millions par mois, sans frais fixes. Le passage à la tarification à l'unité ci-dessus reste possible à tout moment.
Nouveaux comptes AWS : jusqu'à 200 $ de crédits Free Tier, utilisables notamment sur SES.
Plan d'action : configuration en 6 étapes
- Créer une identité domaine dans la console SES (région européenne de votre choix)
- Configurer Easy DKIM : publier les 3 CNAME fournis par SES
- Attendre la vérification : jusqu'à 72h pour la propagation DNS
- Configurer Custom MAIL FROM : créer le sous-domaine avec MX et TXT SPF
- Publier l'enregistrement DMARC : commencer par
p=none, surveiller les rapports - Sortir du sandbox : soumettre la demande d'accès en production
Guides techniques : autres plateformes email transactionnel
Découvrez nos guides complets pour les autres solutions d'email transactionnel :
- Postmark : configuration DKIM et API REST - Spécialiste délivrabilité, DKIM 1024 bits, Message Streams
- SendGrid : authentification domaine et Web API v3 - DKIM 2048 bits avec rotation, IP dédiée dès 50k/mois
- Mailgun : DKIM avec rotation automatique - Return-Path natif, rotation DKIM 120 jours
- Mailjet : API v3.1 et configuration DKIM - DKIM 2048/4096 bits, acquisition Sinch
- Mandrill : intégration Mailchimp transactional - Prérequis Mailchimp Standard, blocs 25k emails
- Brevo : configuration DKIM et SPF - 300 emails/jour gratuits, DKIM TXT ou CNAME
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 européenne choisir pour le RGPD ?
SES propose 7 régions en Europe (Francfort, Irlande, Londres, Paris, Stockholm, Milan, Zurich), dont Londres et Zurich hors UE. 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 ?
AWS ne documente pas le rôle de chaque CNAME. Publiez les trois : SES gère les clés et leur rotation sans action DNS de votre part.
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 en-têtes DKIM et SPF reçus.
Mon taux de rebond monte alors que SPF et DKIM passent : est-ce un problème DNS ?
Pas forcément. SPF et DKIM authentifient l'expéditeur, ils ne disent rien de la qualité de la liste. Les bounces et les plaintes d'une source (un client, une BU, une application) pèsent sur la réputation. Identifiez d'abord la source qui génère les rebonds. Si plusieurs clients ou applications partagent le compte, isolez-les dans des tenants SES pour limiter l'impact de l'un sur les autres. Les seuils du compte restent applicables.
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 suivi, les notifications d'événements et les politiques TLS.
-
Tenant : conteneur logique dans un compte SES, avec sa propre réputation, auquel on associe des identités, des configuration sets et des modèles d'e-mail.
-
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 tableau de bord de métriques et des recommandations automatisées de délivrabilité.
Sources officielles
- Amazon SES Developer Guide
- SES Pricing
- SES Quotas
- Tenants SES : isolation de la réputation (documentation AWS)
- Liste de suppression au niveau du tenant (documentation AWS)
- Annonce AWS d'août 2025 : isolation par tenant et politiques de réputation automatisées
- Blog AWS : mettre en place des tenants dans Amazon SES, partie 3 (seuils des politiques)


