landing · service de relais smtp
Que doit évaluer une équipe produit avant de choisir un service de relais SMTP ?
Évaluez un service de relais SMTP comme un système maîtrisé de soumission et d’exploitation des messages, pas seulement comme un nom d’hôte et un port. Vérifiez le TLS obligatoire, les ports de soumission pris en charge, les contrôles SMTP AUTH, l’isolation des identifiants, la vérification des domaines d’expéditeur, la durabilité de la file d’attente, le comportement documenté des 4xx et 5xx, les quotas, les limites de taille des messages, les événements d’état de livraison, la gestion des bounces et des plaintes, la portée des suppressions, l’isolation des locataires, l’observabilité et la possibilité d’export. Testez les clients et réseaux exacts qui se connecteront. Une réponse 250 d’un relais transfère la responsabilité de la suite du traitement ; elle ne prouve ni la livraison au serveur destinataire ni l’arrivée en boîte de réception.
Distinguez la soumission du relais de serveur à serveur
Les équipes produit emploient souvent « relais SMTP » pour désigner un service authentifié qui accepte les messages sortants d’une application et les achemine vers les serveurs de messagerie des destinataires. Les normes distinguent ce rôle de soumission du relais entre serveurs de messagerie. La RFC 6409 réserve le port 587 à la soumission de messages et permet aux serveurs de soumission d’appliquer des règles d’authentification, de politique et de correction des messages différentes de celles du relais sur le port 25. Demandez à chaque fournisseur quelle interface vous achetez : soumission authentifiée pour les applications, relais entrant de serveur à serveur, ou les deux. Consignez le nom d’hôte, les ports, les modes de chiffrement, les mécanismes d’authentification, les règles d’expéditeur et les extensions SMTP prises en charge. Un service qui fonctionne pour un client de bureau peut ne pas convenir à une file d’attente à fort volume, tandis qu’un relais serveur peut refuser l’authentification applicative. Testez le rôle exact au lieu de supposer que tous les endpoints SMTP se comportent de la même façon.
Exigez une soumission protégée et une authentification sûre
N’envoyez pas d’identifiants ni de contenu de message sur une connexion non protégée. La RFC 8314 considère la soumission en clair comme obsolète, recommande TLS 1.2 ou ultérieur pour le trafic de soumission et privilégie le TLS implicite lorsqu’il est pris en charge. La RFC 4954 définit SMTP AUTH et exige que les serveurs proposent une configuration qui n’autorise pas les mécanismes à mot de passe en clair sans TLS ou protection équivalente. Pendant l’évaluation, vérifiez la validation des certificats, les versions de TLS prises en charge, les ports en TLS implicite et en STARTTLS, le comportement face à une rétrogradation et le refus de l’authentification avant le chiffrement. Gardez les identifiants du relais dans un stockage de secrets côté serveur, créez des principaux distincts par environnement et par application, et faites-les tourner sans interruption de service. Déterminez si les permissions peuvent restreindre les domaines d’expéditeur ou les catégories de messages. Un identifiant unique partagé entre les locataires de production rend la révocation, l’attribution et le confinement des incidents inutilement larges.
Vérifiez la compatibilité des clients et du réseau
Inventoriez chaque expéditeur avant de choisir un relais : bibliothèques applicatives, workers de file d’attente, équipements de supervision, logiciels métier, appareils multifonctions et systèmes hérités. Certains prennent en charge le port 587 avec STARTTLS, d’autres exigent le TLS implicite, et d’autres ne peuvent pas valider les certificats modernes ni s’authentifier de façon sûre. Cette limite est une raison d’isoler ou de remplacer le client, pas d’affaiblir globalement le compte du relais. Testez la résolution DNS, IPv4 et IPv6, les règles de pare-feu sortantes, les timeouts de connexion, le comportement des proxys, la négociation TLS, AUTH, les extensions EHLO, les limites de taille des messages et les adresses internationalisées si nécessaire. Les environnements cloud peuvent restreindre le port 25 : les ports de soumission alternatifs d’un fournisseur comptent donc en exploitation. Effectuez le test de compatibilité depuis chaque réseau de production plutôt que depuis le portable d’un développeur. Documentez une configuration prise en charge et bloquez tout repli vers le clair ou vers un nom d’hôte non approuvé.
Comprenez l’acceptation, les files d’attente et les nouvelles tentatives
Les réponses SMTP font partie du contrat applicatif. Une réponse 2xx indique le succès de la commande concernée ; après l’acceptation finale du message, le relais assume la responsabilité de la livraison ou d’une notification d’échec ultérieure selon les règles SMTP. Une réponse 4xx est transitoire et peut justifier une nouvelle tentative, alors qu’une réponse 5xx est définitive pour la commande tentée et exige normalement une correction plutôt qu’une répétition. Demandez combien de temps le service conserve les messages en file d’attente, quels échecs il réessaie, son calendrier de backoff, quand il génère une notification d’état de livraison et si le courrier en file survit à une panne régionale. Votre application a toujours besoin d’un identifiant de tâche stable, de nouvelles tentatives de connexion bornées et d’une protection contre les résultats ambigus. Si la connexion est coupée après DATA, créer aveuglément une nouvelle tâche peut dupliquer le courrier. Enregistrez l’identifiant de message du relais lorsqu’il est disponible et rapprochez les résultats avant de soumettre à nouveau.
Mesurez la capacité avec les bonnes unités
Les limites d’un relais peuvent porter sur les destinataires par jour glissant, les messages par seconde, les connexions simultanées, les destinataires par transaction, les octets par message, la taille des pièces jointes après encodage et la profondeur de la file stockée. Une formule qui affiche un total mensuel élevé peut tout de même limiter un pic de lancement ou une bascule. Demandez les limites actuelles pour chaque compte et chaque Region, puis modélisez le trafic normal, de pointe, de nouvelles tentatives et de bascule complète par destinataire, et pas seulement par session SMTP. Déterminez si le relais renvoie une réponse transitoire en cas de limitation et si votre client la respecte sans ouvrir un nombre excessif de connexions. Testez la contre-pression en dessous du plafond approuvé et déclenchez des alertes sur le quota restant, la saturation des connexions, l’âge de la file et les réponses de limitation. N’augmentez pas la concurrence tant que le fournisseur et l’écosystème destinataire ne peuvent pas absorber le trafic. La capacité est aussi une frontière anti-abus : évaluez donc les contrôles par identifiant et par locataire, et pas seulement un maximum unique à l’échelle du compte.
Vérifiez l’authentification de l’expéditeur et l’intégration des domaines
Un relais doit proposer un parcours d’intégration de domaine précis et vérifiable. Confirmez comment il vérifie la propriété, produit les sélecteurs DKIM, configure le domaine MAIL FROM d’enveloppe et rapporte l’état de l’authentification. SPF autorise des identités SMTP et doit être fusionné dans un enregistrement valide existant plutôt que publié comme second enregistrement SPF sélectionnable. DKIM associe un domaine de signature à une signature cryptographique. DMARC évalue si un identifiant SPF ou DKIM validé est aligné avec le domaine From visible et permet au propriétaire du domaine de publier une politique et de recevoir des rapports. Demandez qui contrôle les clés de signature, la rotation des sélecteurs, l’alignement du return path et les changements DNS pendant la migration. Envoyez des messages contrôlés et inspectez les en-têtes reçus avant la production. Un tableau de bord indiquant « vérifié » ne prouve pas que chaque flux légitime est aligné, et l’authentification ne garantit pas l’arrivée en boîte de réception.
Exigez des événements de résultat exploitables et une corrélation
La soumission SMTP seule fournit des réponses aux commandes, alors que l’exploitation d’un produit a besoin des résultats ultérieurs. Évaluez si le service expose des événements de livraison au serveur destinataire, de bounce, de plainte, de rejet, de retard et de suppression via des webhooks authentifiés, des files d’attente ou des API. Déterminez les identifiants d’événement, le comportement des nouvelles tentatives, les garanties d’ordre, la conservation, la vérification des signatures et la possibilité de masquer le détail des destinataires. La RFC 3461 définit une extension SMTP permettant de demander des notifications d’état de livraison dans certaines conditions, mais les systèmes d’événements des fournisseurs peuvent offrir des données opérationnelles plus structurées. Associez l’identifiant de tâche de votre application à l’identifiant de message du relais au moment de l’acceptation, puis ingérez les événements de façon idempotente. Traitez l’acceptation, la livraison à un serveur de messagerie destinataire, la plainte, le bounce et l’arrivée en boîte de réception comme des notions distinctes. Les observations d’ouvertures et de clics exigent un examen de confidentialité distinct et ne doivent pas écraser la réalité du transport.
Évaluez les frontières de suppression et de réputation
Un relais de production doit rendre possible, en exploitation, la réponse aux bounces et aux plaintes. Demandez s’il gère des listes de suppression à l’échelle du fournisseur, du compte, du sous-compte, du domaine ou du locataire ; quels types d’événements ajoutent des entrées ; si une adresse peut être consultée avant la soumission ; et comment les retraits sont autorisés. Les bounces définitifs et les plaintes doivent arrêter les futures tentatives courantes, tandis que les retards temporaires exigent une politique distincte. Dans un compte partagé, déterminez si la plainte d’un locataire peut supprimer le destinataire légitime d’un autre locataire ou affecter la réputation de tout le compte. N’examinez les options d’IP dédiée ou partagée qu’au regard du volume réel, des besoins d’isolation, de la responsabilité du warm-up et de la réponse aux incidents. Aucun choix réseau ne compense un courrier inattendu, des données de destinataires de mauvaise qualité ou des plaintes ignorées. Exigez des tableaux de bord et des alertes sur les variations de bounces et de plaintes, mais conservez vos propres événements normalisés pour qu’une migration n’efface pas l’historique opérationnel.
Testez la séparation des locataires, l’observabilité et la reprise après défaillance
Créez deux locataires de test et prouvez que chaque identifiant ne peut envoyer que depuis ses domaines approuvés, ne voir que ses propres messages et ne consommer que ses propres limites. Essayez une adresse From non autorisée, un identifiant révoqué, un message trop volumineux, un destinataire invalide, un dépassement de limite de débit, un échec TLS, un timeout réseau, une soumission en double, un destinataire en bounce, une plainte, une livraison retardée et un webhook répété. Vérifiez que les logs contiennent un identifiant de message stable, le locataire, une classe de réponse assainie, le nombre de tentatives et les durées, sans copier d’identifiants ni de corps de message. Demandez au fournisseur l’historique de son statut, sa communication en cas d’incident, son comportement de bascule régionale, la localisation des données, la conservation, les formats d’export et l’escalade du support. Un engagement de niveau de service n’est utile que si l’application peut en détecter la violation et s’en remettre. Menez un exercice de bascule avec des messages en file d’attente et prouvez que la configuration de secours dispose de domaines vérifiés, d’identifiants, de quotas, d’événements et de l’état des suppressions.
Comparez le relais SMTP à une API e-mail
La soumission SMTP est utile lorsque le logiciel existant utilise déjà SMTP ou lorsqu’une interface de transport de courrier indépendante du fournisseur importe. Une API e-mail HTTPS peut fournir une validation structurée, des identifiants de ressources, une sémantique de lot et des ressources d’événements directes qu’une nouvelle application peut contrôler plus facilement. Les équipes ayant besoin de compatibilité avec le SMTP existant doivent sélectionner un relais documenté ou créer un adaptateur étroitement contrôlé. Les équipes qui construisent de nouveaux workflows produit peuvent comparer une couche API sur l’autorisation, les files d’attente, les événements, les limites de tenant, le coût de migration et la responsabilité opérationnelle, plutôt que de supposer que SMTP est automatiquement plus portable.
Menez une évaluation notée des relais
Construisez une matrice d’exigences avant de demander des propositions. Pondérez la sécurité de la soumission, la compatibilité des clients, l’intégration des domaines, l’alignement de l’authentification, la durabilité de la file d’attente, la sémantique des nouvelles tentatives, les quotas, l’exhaustivité des événements, la vérification des webhooks, la portée des suppressions, l’isolation des locataires, l’observabilité, le traitement des données, la conception régionale, le support, la possibilité d’export et le coût total d’exploitation. Distinguez les échecs rédhibitoires des préférences : un repli vers le clair, l’absence de traitement des bounces ou des plaintes, des événements invérifiables, des identifiants partagés, l’absence de contrôle de propriété des domaines ou des limites inférieures au pic de demande ne doivent pas être compensés par un prix bas. Exécutez la même suite de tests contrôlés sur chaque finaliste et conservez les transcriptions, secrets retirés. Notez le comportement actuellement documenté, pas les promesses de feuille de route. Avant la migration, répétez l’envoi en double à faible volume, les changements DNS, le rapprochement des événements, le transfert des suppressions, la rotation des identifiants, le retour arrière et la révocation finale de l’ancien relais.
Questions fréquentes
Quelle est la différence entre la soumission SMTP et le relais ?
La soumission accepte le courrier sortant d’un client authentifié, normalement sur le port 587 avec une politique propre à la soumission. Le relais désigne le transfert entre serveurs de messagerie, généralement sur le port 25, avec des règles de confiance et de routage différentes.
Un relais SMTP doit-il exiger TLS ?
Oui, pour la soumission applicative. Exigez un TLS avec validation des certificats et refusez l’utilisation des identifiants ou la soumission des messages lorsque le niveau de confidentialité configuré n’est pas disponible. Testez à la fois le port pris en charge et le comportement face à une rétrogradation.
Un SMTP 250 signifie-t-il que le destinataire a reçu le message ?
Non. Il signifie que le serveur a accepté la responsabilité de la commande SMTP ou du message complet. Les notifications d’état de livraison ou les événements du fournisseur ultérieurs décrivent la livraison au serveur destinataire, le bounce, la plainte, le retard ou le rejet.
Comment une application doit-elle réessayer après des échecs SMTP ?
Réessayez les échecs 4xx transitoires et les échecs réseau avec un backoff borné et une identité de tâche stable. Corrigez les échecs 5xx avant toute nouvelle tentative, et rapprochez les échecs ambigus survenus après DATA pour éviter les messages en double.
Les relais SMTP gèrent-ils DKIM, SPF et DMARC ?
Les capacités varient. Vérifiez qui signe DKIM, quel domaine MAIL FROM est utilisé, quel mécanisme SPF est requis et si SPF ou DKIM est aligné avec le domaine From visible pour DMARC.
Quand une API e-mail est-elle préférable à un relais SMTP ?
Une API peut être préférable pour les nouvelles applications qui ont besoin d’une validation structurée, d’identifiants de ressources, d’une autorisation explicite des locataires, de résultats de lot et de ressources d’événements. SMTP reste utile pour les logiciels existants compatibles SMTP.
Sources
- RFC 6409 : Message Submission for Mail — Internet Engineering Task Force
- RFC 8314 : TLS for Email Submission and Access — Internet Engineering Task Force
- RFC 4954 : SMTP Service Extension for Authentication — Internet Engineering Task Force
- RFC 5321 : Simple Mail Transfer Protocol — Internet Engineering Task Force
- RFC 3461 : SMTP Delivery Status Notifications — Internet Engineering Task Force
- RFC 6376 : DomainKeys Identified Mail Signatures — Internet Engineering Task Force
- RFC 7208 : Sender Policy Framework — Internet Engineering Task Force
- RFC 7489 : Domain-based Message Authentication, Reporting, and Conformance — Internet Engineering Task Force
- Se connecter à un endpoint SMTP Amazon SES — Amazon Web Services
- Problèmes SMTP et codes de réponse d’Amazon SES — Amazon Web Services
- Contrat OpenAPI de SendHQ — SendHQ