Guide fournisseur · Amazon SES
SES est de loin l’option sérieuse la moins chère, et celle qui demande le plus de cérémonie au départ. Trois choses conditionnent votre premier email : des identifiants SMTP dédiés, une identité d’expéditeur vérifiée, et un compte encore en bac à sable. Les trois sont des obstacles à franchir une seule fois.
1 · Identifiants
SES conditionne votre premier email trois fois : une identité vérifiée, l’accès production, et des identifiants SMTP dédiés. Dans cet ordre, parce que l’ordre accélère l’approbation.
Sous Configuration, Identities, créez une identité de type Domain. La vérification par défaut est Easy DKIM : AWS vous remet trois enregistrements CNAME à publier chez votre hébergeur DNS, et l’identité passe à Verified une fois la propagation faite, jusqu’à 72 heures. Vérifier le domaine d’abord est le conseil d’AWS lui-même : la demande de production qui suit s’en trouve approuvée plus vite.
Les nouveaux comptes vivent dans un bac à sable, région par région. Depuis l’Account dashboard, choisissez Request production access : le formulaire demande si vous envoyez du marketing ou du transactionnel, transactionnel pour WordPress, l’URL de votre site, et la confirmation que vous traitez rebonds et plaintes. AWS donne une première réponse sous 24 heures.
Sous SMTP settings dans la navigation de gauche, cliquez Create SMTP credentials : AWS crée un utilisateur IAM dédié et vous remet un identifiant et un mot de passe. Téléchargez le CSV ou copiez les deux valeurs maintenant, car le mot de passe ne sera jamais réaffiché ; perdu, le chemin est de supprimer l’utilisateur IAM et de recréer des identifiants.
Deux propriétés à connaître. L’identifiant ressemble à un access key ID AWS, c’est normal. Et le mot de passe est dérivé par région : des identifiants créés pour eu-west-3 seront refusés avec une erreur d’authentification par l’endpoint d’us-east-1, et réciproquement.
2 · Dans le plugin
Le preset remplit le port (587), le chiffrement (TLS) et un hôte en us-east-1. Cet hôte est le champ qui mérite un second regard.
email-smtp.<région>.amazonaws.com, la région étant celle où vivent vos identifiants et vos identités. Vous envoyez depuis Paris ? Remplacez la valeur du preset par email-smtp.eu-west-3.amazonaws.com.
La paire du CSV téléchargé.
Une adresse couverte par une identité vérifiée, exactement. Un From non vérifié est rejeté avec « 554 Email address is not verified ».
Enregistrez, puis Envoyer un email de test. Tant que le compte est en bac à sable, envoyez le test vers une adresse que vous avez également vérifiée, sinon il rebondira, par conception.
3 · Pièges
SES échoue fort et précisément, ce qui devient un cadeau dès qu’on sait lire les deux erreurs qui couvrent presque tous les cas.
Tout nouveau compte SES commence en bac à sable, région par région : vous ne pouvez envoyer que vers des adresses vérifiées, avec un plafond de 200 messages par 24 heures et 1 par seconde. En sortir est l’étape 02 ci-dessus ; faites-le tôt, pas le jour du lancement, la réponse sous 24 heures s’allongeant dès qu’AWS a des questions.
Presque toujours une histoire de région : des identifiants générés dans une région utilisés contre l’endpoint d’une autre, le mot de passe SMTP étant dérivé par région. Vérifiez que la région de l’hôte correspond à celle où les identifiants ont été créés. L’autre classique : coller une secret key AWS à la place des identifiants SMTP de SES.
La réponse complète est « 554 Message rejected: Email address is not verified. The following identities failed the check in region… » : l’adresse From, ou le destinataire tant que vous êtes en bac à sable, n’est pas couverte par une identité vérifiée dans cette région. La vérification ne voyage pas : une identité vérifiée en us-east-1 ne vaut rien en eu-west-3. Vérifiez le domaine dans la région d’envoi réelle ; la fin du message nomme la région contrôlée, ce qui pointe en général droit sur le décalage.
Si WordPress tourne sur ECS, Fargate ou EC2, Custom SMTP peut envoyer par l’API SES authentifiée par le rôle IAM de l’instance ou de la tâche : aucun identifiant SMTP, rien de stocké en base du tout. Ce mailer, ses variables d’environnement et sa policy IAM vivent sur la page développeurs.
Le journal d'emails conserve le message d'erreur exact renvoyé par le serveur : c'est le chemin le plus court vers la cause. La documentation passe en revue les plus fréquentes.
Chacun des douze presets a son guide, de Gmail à Amazon SES, et le plugin accepte aussi n'importe quel autre serveur SMTP.