Connecter Amazon SES à n8n : envoyer des emails à grande échelle et boucler les bounces via SNS
Publié le 26 août 2026 · 7 min de lecture
Le node Send Email de n8n fait le travail en SMTP, et Resend ajoute des webhooks de statut pratiques — mais aucun des deux ne tient la comparaison sur le coût dès que le volume grimpe. Amazon SES facture environ 0,10 $ pour 1 000 emails, sans abonnement ni palier, ce qui en fait la brique la moins chère du marché pour de l'envoi transactionnel à l'échelle. n8n expose un node AWS SES natif qui couvre l'essentiel : envoi simple, envoi par template, gestion des modèles, et — combiné au node AWS SNS Trigger — une vraie boucle de retour sur les bounces et les plaintes. Ce guide couvre la configuration des credentials, la sortie du mode sandbox, et cette boucle SNS que la plupart des tutoriels laissent de côté.
Créer une credential IAM dédiée
n8n utilise le credential générique AWS, avec trois champs : Region (la région où votre identité SES est vérifiée, eu-west-1 par exemple), Access Key ID et Secret Access Key. Un support des credentials temporaires (STS, avec Session Token) existe aussi si votre organisation impose une rotation automatique.
Créez un utilisateur IAM dédié à n8n, jamais votre compte root ni une clé partagée avec d'autres services. La policy doit rester strictement au périmètre de l'envoi :
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["ses:SendEmail", "ses:SendTemplatedEmail"],
"Resource": "*"
}]
}
Cette discipline rejoint les bonnes pratiques de gestion des credentials API : une clé IAM qui ne peut qu'envoyer des emails limite strictement les dégâts si elle fuite depuis un workflow ou un export mal protégé.
Les trois ressources du node AWS SES
Le node n8n-nodes-base.awsSes organise ses opérations autour de trois ressources.
Email — l'usage courant. L'opération Send prend From Email, To Addresses, Subject, Message (avec un bascule HTML/texte brut) et des champs additionnels utiles : CC/BCC, Reply To, et surtout Configuration Set Name, le paramètre qui relie cet envoi au suivi des bounces (voir plus bas). L'opération Send Template remplace le sujet et le corps par un Template Name existant et des données de personnalisation à injecter.
Template — Create, Get, Get Many, Update, Delete. Un template SES se définit par un nom, un objet (Subject Part), une version HTML (HTML Part) et une version texte optionnelle. Piloter vos templates depuis n8n permet de les régénérer automatiquement à partir d'un CMS ou d'un tableur, plutôt que de les recopier à la main dans la console AWS.
Custom Verification Email — une ressource de niche qui permet d'envoyer un email de vérification personnalisé (avec votre propre template et vos propres pages de redirection) à une adresse que vous voulez faire passer en identité vérifiée, plutôt que le mail générique fourni par AWS.
Sortir du mode sandbox
Tout nouveau compte SES démarre en mode sandbox, avec trois restrictions strictes : 200 emails maximum par période de 24 heures, un débit plafonné à un email par seconde, et l'obligation d'envoyer uniquement vers des adresses ou domaines explicitement vérifiés — y compris le destinataire, pas seulement l'expéditeur. C'est suffisant pour valider un workflow n8n de bout en bout avec votre propre adresse, mais inutilisable en production.
Deux étapes avant de basculer :
- Vérifier votre domaine d'envoi. Dans la console SES, ajoutez les enregistrements DNS fournis (des CNAME pour Easy DKIM, plus SPF et idéalement DMARC). C'est la même logique que pour n'importe quel envoi transactionnel : sans DKIM ni SPF alignés, les messages partent avec une réputation d'expéditeur dégradée quel que soit l'outil utilisé.
- Demander l'accès production. Le formulaire est dans la console SES (Account dashboard → Request production access) : décrivez votre cas d'usage, votre méthode de gestion des bounces, et votre volume attendu. La réponse arrive en général sous 24 heures. Une fois accordé, le quota par défaut démarre souvent autour de plusieurs dizaines de milliers d'emails par jour et augmente automatiquement si votre réputation d'envoi reste saine.
Fermer la boucle bounce et plainte avec AWS SNS Trigger
C'est le point que la plupart des configurations SES ratent : sans mécanisme de retour, un email qui rebondit (adresse inexistante) ou déclenche une plainte spam disparaît silencieusement, et votre réputation d'expéditeur se dégrade sans que vous le sachiez.
La mécanique AWS : une configuration set SES peut publier chaque événement Bounce et Complaint vers un topic SNS. Il suffit ensuite, côté n8n, d'un node AWS SNS Trigger pointé sur ce topic. Le point notable, c'est que n8n gère seul la confirmation d'abonnement SNS (le message SubscriptionConfirmation qu'AWS envoie à l'endpoint) — pas de clic manuel sur un lien de confirmation, pas de node HTTP Request additionnel pour appeler ConfirmSubscription.
Configuration en quatre étapes :
- Console SES → Configuration sets → créer un set, par exemple
n8n-transactionnel. - Dans ce set, ajouter une destination Event publishing de type SNS, cocher
BounceetComplaint, et pointer vers un topic SNS créé pour l'occasion. - Dans n8n, ajouter un node AWS SNS Trigger, sélectionner ce topic (par liste, par URL ou par ARN).
- Sur le node d'envoi (opération Send ou Send Template), renseigner
Configuration Set Nameavec le nom choisi à l'étape 1 — sans ce champ, l'événement n'est jamais publié.
Le workflow qui en découle est court : un node If qui distingue Type: Bounce (et parmi eux les bounceType: Permanent, les vrais échecs définitifs) de Type: Complaint, puis une écriture dans votre base pour marquer l'adresse comme invalide avant tout nouvel envoi. C'est exactement la logique à laquelle aboutit Resend avec ses webhooks Svix, transposée au monde AWS.
Cas d'usage qui justifient la bascule vers SES
Digest et notifications à fort volume. Un Pack Inbox IA qui envoie un digest quotidien à des centaines de destinataires, ou une PME qui notifie ses clients à chaque étape d'une commande, sort vite du calcul économique de Resend ou d'un SMTP payant. À 50 000 emails par mois, SES coûte environ 5 $ ; la plupart des concurrents facturent un abonnement mensuel fixe bien supérieur à ce volume.
Factures et confirmations générées automatiquement. Un template SES pour la confirmation de commande, un autre pour la facture, alimentés par les données d'un node Set en amont — la génération du PDF lui-même reste du ressort d'un node dédié aux devis et factures.
Ré-engagement conforme sur de grandes listes. Une campagne de relance vers une liste de plusieurs milliers de contacts, avec traitement immédiat des désinscriptions et des bounces définitifs pour rester sous le seuil de 0,3 % de plaintes qu'exigent désormais Gmail et Yahoo pour les envois en masse.
Sécurité et délivrabilité : ne pas supposer, vérifier
La tentation, une fois SES configuré, est de considérer le sujet clos. Deux études de mesure à grande échelle du courrier électronique invitent à la prudence. Dennis Tatang, Florian Zettl et Thorsten Holz, dans The Evolution of DNS-based Email Authentication: Measuring Adoption and Finding Flaws (RAID 2021 — voir sur Google Scholar), montrent que malgré une adoption multipliée par dix en cinq ans, DMARC ne couvre encore qu'environ 11 % des domaines analysés — et que les politiques mal configurées (trop permissives, ou pointant vers des rapports jamais exploités) restent fréquentes. Md. Ishtiaq Ashiq, Weitong Li, Tobias Fiebig et Taejoong Chung, dans You've Got Report: Measurement and Security Implications of DMARC Reporting (USENIX Security 2023 — voir sur Google Scholar), vont plus loin : même chez les domaines qui publient une politique DMARC, les rapports agrégés envoyés en retour sont très souvent mal exploités ou jamais consultés, ce qui vide le mécanisme de son utilité pratique.
La leçon pour un envoi SES : publier des enregistrements DKIM et SPF ne suffit pas si personne ne consulte jamais les rapports DMARC ni les bounces SNS qu'ils signalent. La boucle décrite plus haut — configuration set, topic SNS, AWS SNS Trigger — n'est pas une option confort, c'est ce qui transforme une configuration DNS correcte en système qui réagit réellement quand quelque chose se dégrade.
En résumé
Amazon SES s'impose dès que le volume d'emails transactionnels dépasse ce qu'un SMTP classique ou un service comme Resend absorbe à coût raisonnable. Côté n8n : une credential IAM au périmètre restreint (ses:SendEmail seul), les ressources Email/Template/Custom Verification Email du node AWS SES, une sortie de sandbox qui passe par la vérification DNS du domaine et une demande d'accès production, et surtout une configuration set SES reliée à un topic SNS que le node AWS SNS Trigger consomme sans configuration manuelle du handshake.
Pour aller plus loin
Si l'objectif est d'automatiser l'ensemble du cycle de vie de votre boîte mail — pas seulement l'envoi — le Pack Inbox IA (79 €) couvre le tri par IA des emails entrants, le scoring d'urgence et le digest quotidien, en amont naturel d'une brique d'envoi SES. Et si vos emails transactionnels s'inscrivent dans un processus qui doit rester traçable (consentement, preuves d'envoi, relances), le Pack Conformité & Audit (149 €) fournit la piste d'audit horodatée qui documente qui a reçu quoi, et quand.
FAQ
Questions fréquentes
Pourquoi utiliser Amazon SES plutôt que le node Send Email (SMTP) ou Resend dans n8n ?
Le choix se joue sur le volume et le coût. Le node Send Email en SMTP suffit pour quelques centaines d'emails par mois, et Resend apporte des webhooks de statut clés en main pour un usage transactionnel modéré. Amazon SES prend le relais dès que le volume grimpe : environ 0,10 $ pour 1 000 emails, sans palier ni abonnement, ce qui le rend nettement plus économique dès plusieurs dizaines de milliers d'envois mensuels.
Combien d'emails puis-je envoyer avec Amazon SES avant de sortir du mode sandbox ?
En mode sandbox, la limite est de 200 emails par période de 24 heures, à raison d'un email par seconde maximum, et uniquement vers des adresses ou domaines que vous avez explicitement vérifiés dans la console SES. Cela suffit pour tester un workflow n8n de bout en bout, mais pas pour un usage réel : il faut demander l'accès production (formulaire dans la console AWS) pour lever ces restrictions.
Comment savoir si un email envoyé par n8n via SES a rebondi ou été signalé comme spam ?
Configurez un topic Amazon SNS, associez-le à votre configuration set SES pour les événements Bounce et Complaint, puis ajoutez un node AWS SNS Trigger dans n8n pointé sur ce topic. n8n gère automatiquement la confirmation d'abonnement SNS (le handshake SubscriptionConfirmation) : chaque bounce ou plainte arrive ensuite en temps réel comme déclencheur de workflow, sans sondage ni polling.
Quelles permissions IAM donner à la credential AWS utilisée par n8n ?
Le principe de moindre privilège s'applique strictement : une policy IAM limitée à ses:SendEmail, ses:SendTemplatedEmail et, si vous gérez les modèles depuis n8n, ses:CreateTemplate, ses:GetTemplate, ses:UpdateTemplate et ses:DeleteTemplate. Évitez à tout prix une clé avec les droits AdministratorAccess : si elle fuite depuis un workflow, le dégât se limite à de l'envoi d'emails plutôt qu'à l'ensemble du compte AWS.
Bundle FlowKit Complet
269 €