En un coup d'œil. SMTP : ports 587 / 465, bibliothèques de messagerie partout · API : HTTPS, clé d'API, JSON structuré · Livraison : mêmes IP, même authentification · Retours : webhooks et journaux d'événements
L'essentiel en bref
- Deux façons de remettre un message. Les deux interfaces font le même travail : votre application confie un message à un service d'envoi, et le service le livre au serveur de messagerie du destinataire.
- Comment SMTP fonctionne pour une application. SMTP est le protocole utilisé depuis des décennies par les serveurs de messagerie, et presque tous les langages, frameworks et logiciels en proposent une bibliothèque.
- Comment fonctionne une API e-mail. Un appel d'API est une requête HTTPS, généralement avec un corps JSON qui nomme l'expéditeur, les destinataires, l'objet et le contenu.
- Les différences qui comptent. La mise en place est la plus rapide en SMTP lorsque le logiciel envoie déjà du courrier.
- Erreurs, nouvelles tentatives et retours. Quelle que soit l'interface, une remise réussie signifie seulement que le service a accepté le message.
- Sécurité. Traitez les mots de passe SMTP et les clés d'API comme des secrets.
Deux façons de remettre un message
Les deux interfaces font le même travail : votre application confie un message à un service d'envoi, et le service le livre au serveur de messagerie du destinataire. La différence réside dans la manière dont la remise s'effectue.
Avec SMTP, votre application parle le protocole de messagerie à un relais. Avec une API, elle fait une requête web ordinaire et le service construit le message pour vous.
Comment SMTP fonctionne pour une application
SMTP est le protocole utilisé depuis des décennies par les serveurs de messagerie, et presque tous les langages de programmation, frameworks et logiciels en proposent une bibliothèque. Vous lui indiquez un hôte, un port, un mode de sécurité et des identifiants, et elle soumet le message.
Host: smtp.example.com
Port: 587 (STARTTLS)
Username and password: from your account
Utilisez le port 587 avec STARTTLS ou le port 465 avec TLS implicite, qui sont les ports de soumission prévus pour les applications qui s'authentifient. Un code de réponse revient à chaque étape, par exemple 250 pour accepté, afin que votre code puisse savoir si le relais a pris le message.
Comment fonctionne une API e-mail
Un appel d'API est une requête HTTPS, généralement avec un corps JSON qui nomme l'expéditeur, les destinataires, l'objet et le contenu. Vous vous authentifiez avec une clé d'API, et la réponse vous indique si la requête a été acceptée et lui attribue un identifiant que vous pourrez utiliser plus tard.
POST /v1/messages
Authorization: Bearer <api key>
{"from":"you@example.com","to":"them@example.com","subject":"Hello"}
Comme la requête est une donnée structurée, une API peut faire des choses malaisées en SMTP : envoyer un message à de nombreux destinataires avec une valeur différente pour chacun, attacher vos propres étiquettes de suivi, choisir un modèle enregistré et en remplir les variables.
Les différences qui comptent
La mise en place est la plus rapide en SMTP lorsque le logiciel envoie déjà du courrier. Le contrôle est plus grand avec une API, qui renvoie des erreurs structurées et accepte des options pour lesquelles un protocole de messagerie n'a pas de place. Une seule requête d'API peut transporter de nombreux destinataires, alors que SMTP demande une transaction par message ou par lot.
La livraison est la même dans les deux cas : le service d'envoi signe le message, choisit une IP et dialogue avec le serveur du destinataire. Aucune des deux interfaces ne place un message en boîte de réception à elle seule. Ce sont l'authentification et la réputation qui le font.
Erreurs, nouvelles tentatives et retours
Quelle que soit l'interface, une remise réussie signifie seulement que le service a accepté le message. La question de savoir s'il a atteint le destinataire est signalée plus tard, sous forme de livraison, de rebond ou de plainte. Utilisez les webhooks ou le journal d'événements pour obtenir ces résultats.
Ne réessayez que ce qui a échoué pour une raison temporaire. Un délai d'attente dépassé ou une réponse 4xx mérite une nouvelle tentative après un délai, alors qu'une réponse 5xx ou une adresse rejetée échouera à chaque fois, et réessayer ne fait qu'ajouter de la charge.
Sécurité
Traitez les mots de passe SMTP et les clés d'API comme des secrets. Conservez-les dans les paramètres d'environnement, jamais dans le code source ni dans une application mobile, et donnez à chaque application sa propre clé afin de pouvoir en révoquer une sans casser les autres.
Préférez des clés limitées à l'envoi, renouvelez-les selon un calendrier, et utilisez toujours une connexion chiffrée. Les deux interfaces doivent être utilisées sur TLS.
Comment choisir
Choisissez SMTP lorsque vous connectez un logiciel qui envoie déjà du courrier, comme un CMS, un outil de support ou une application plus ancienne. Choisissez l'API pour du nouveau code, lorsque vous voulez des modèles, des valeurs par destinataire, des étiquettes et des réponses structurées.
Vous n'êtes pas enfermé. Les deux partagent votre domaine, vos IP et vos listes de suppression : une équipe peut donc commencer en SMTP et migrer plus tard les parcours les plus chargés vers l'API, un par un.
Pour aller plus loin et sources
- RFC 6409 : Message Submission for Mail
- RFC 8314 : Cleartext Considered Obsolete: TLS for email submission
- Google : consignes pour les expéditeurs d'e-mails
Dans MigoSMTP : articles du centre d'aide
- Sécurité et rotation des clés d'API
- Webhooks et événements de livraison
- Paramètres SMTP : ports, TLS et authentification
Guides et outils associés
- API e-mail : découvrir l'API et ce qu'elle couvre.
- Relais SMTP : connecter un logiciel existant.
- E-mail transactionnel : ce que c'est et comment bien l'envoyer.
- Le relais SMTP expliqué : comment fonctionne un relais.
Prêt à essayer ? Commencez avec l'offre gratuite et envoyez votre premier message en quelques minutes.
Questions fréquentes
Quelle est la différence entre une API e-mail et SMTP ?
SMTP est le protocole de messagerie standard : votre application ouvre une connexion vers un serveur de messagerie et lui remet un message. Une API e-mail est une interface HTTPS proposée par un service d'envoi, où votre application envoie le message et ses options dans une requête et lit le résultat dans une réponse.
Une API e-mail est-elle plus rapide que SMTP ?
Elle peut être plus facile à rendre rapide, car une requête peut transporter de nombreux destinataires et variables, et vous conservez des connexions vers un service web que vous utilisez déjà. La rapidité d'arrivée en boîte de réception dépend surtout du service d'envoi et de votre réputation, pas de l'interface utilisée.
Lequel utiliser pour l'e-mail transactionnel ?
Les deux fonctionnent. Une API convient bien au nouveau code qui veut des modèles, des métadonnées et des erreurs structurées. SMTP convient bien aux logiciels qui envoient déjà du courrier, car il suffit de changer un nom d'hôte et des identifiants.
Puis-je utiliser les deux avec le même compte ?
Oui. Les deux partagent généralement la même authentification de domaine, les mêmes IP d'envoi, les mêmes listes de suppression et les mêmes journaux : vous pouvez donc envoyer depuis une application plus ancienne en SMTP et depuis du nouveau code par l'API.