Email

SMTP et API : leurs différences et comment les utiliser

Nous vous comprenons. En matière d'email, certains termes ressemblent parfois à du charabia. C'est particulièrement vrai pour les acronymes SMTP et API. Il peut être difficile de s'y retrouver parmi ces termes, et encore plus de savoir quand les utiliser. Mais ne vous inquiétez pas, nous sommes là pour vous aider. Dans cet article, nous vous expliquons les différences entre SMTP et API, et dans quel cas utiliser l'un ou l'autre.
Image pour SMTP et API : leurs différences et comment les utiliser

Vous devez intégrer l’envoi d’emails dans l’application que vous développez ou dans l’outil de gestion de la relation client (CRM) qu’utilise votre entreprise. Deux options s’offrent à vous : le SMTP traditionnel ou une API SMTP, qui utilise des requêtes HTTP (souvent de type RESTful et au format JSON) pour un envoi et une gestion des emails plus rapides et plus flexibles. Les deux sont essentiels à votre processus de développement et de déploiement d’emails, que vous envoyiez une campagne d’email marketing ou un email transactionnel déclenché automatiquement. Mais que sont-ils, et quand utiliser chacun d’eux ?

Qu’est-ce que le SMTP ?

Nous allons entrer dans le vif du sujet en commençant par le SMTP en premier. De quoi s’agit-il et comment l’utiliser ?

SMTP signifie Simple Mail Transfer Protocol, et c’est la méthode utilisée pour envoyer des emails sur Internet. Un serveur SMTP vous permet d’utiliser le SMTP pour transférer un email via un serveur et un réseau jusqu’à sa destination. Contrairement à la plupart des serveurs informatiques qui gèrent plusieurs processus en même temps, un serveur SMTP sert uniquement à envoyer, recevoir et transférer des emails. Mailgun agit comme un intermédiaire pour envoyer des emails via SMTP, comme illustré ci-dessous :

SMTP flowchart

Comment le SMTP est-il utilisé ?

Le SMTP est conçu spécifiquement pour une seule tâche : l’envoi d’emails. Il gère le transfert des messages du serveur de l’expéditeur vers le serveur du destinataire, garantissant ainsi une livraison fiable.

Lors d’un envoi via SMTP, vous vous demandez peut-être quel port SMTP choisir. Le port 587 est considéré comme le port SMTP par défaut pour le transfert d’emails. Vous devez l’utiliser, à moins que votre réseau ou votre fournisseur ne vous bloque.

Quels sont les avantages et les inconvénients du SMTP pour envoyer des emails ?

Maintenant que vous connaissez les bases du SMTP, passons en revue quelques avantages et inconvénients de l’utilisation du SMTP pour envoyer des emails.

Voici trois inconvénients à utiliser le SMTP :

  • Des performances réduites pour les gros volumes d’emails : le relais SMTP nécessite de nombreux allers-retours entre le client de messagerie expéditeur et le serveur récepteur pour effectuer diverses vérifications et authentifications. Cela entraîne des retards et des performances ralenties, particulièrement lorsque vous envoyez de gros volumes d’emails.
  • Une délivrabilité variable des emails : la plupart des services de relais SMTP utilisent des adresses IP partagées, ce qui affecte votre réputation d’expéditeur. Cela signifie que vous ne bénéficierez pas d’une réputation d’expéditeur constante ni d’une délivrabilité stable. En retour, cela affecte l’efficacité de votre campagne d’emailing et porte un coup sévère aux statistiques marketing clés telles que les taux d’ouverture, les taux de conversion et les taux de clics. Pour y remédier, vous devrez apporter des ajustements majeurs au Domain Name Service (DNS).
  • Un blocage possible du port 25 : bien que le port 587 soit recommandé par défaut pour le transfert d’emails SMTP, certains clients de messagerie et FAI bloquent le port 25 en raison de son utilisation abusive fréquente par les spammeurs. Utiliser le port 25 pour le SMTP augmente le risque de retards ou de signalement de vos emails comme spam. Préférez-lui le port 587.

Mais le SMTP n’a pas que des inconvénients. Voici trois avantages clés à utiliser des relais SMTP pour envoyer des emails :

  • Une migration de plateforme facilitée : comme les relais SMTP sont indépendants de la plateforme, il est très simple de les déplacer d’un système à l’autre. Cette flexibilité aide à pérenniser votre flux de travail lié aux emails.
  • Une configuration simplifiée : les relais SMTP sont beaucoup plus faciles à configurer que les email APIs. En fait, la plupart des services d’emailing (ESP) configurent des relais SMTP et des serveurs SMTP.
  • Une résolution de problèmes plus simple : en raison de la nature itérative d’un relais SMTP, vous obtiendrez un code de réponse à chaque étape. Cela rend la résolution de problèmes beaucoup plus simple que pour les email API.

Qu’est-ce qu’une email API ?

Maintenant que nous connaissons le SMTP, plongeons-nous dans les bases de l’API. Lorsqu’elles sont utilisées pour l’email, les email API sont similaires au SMTP pour l’envoi de messages, mais elles offrent des options d’intégration plus flexibles et complètes, au-delà du simple routage des emails via SMTP. Cela permet aux API d’activer des actions d’email automatisées, basées sur des déclencheurs, et d’offrir des fonctionnalités supplémentaires qui ne sont généralement pas disponibles avec le SMTP.

API signifie Application Programming Interface, et contrairement au SMTP, elle est utilisée pour bien plus que le simple email. Une API est un logiciel qui permet à plusieurs applications et systèmes de communiquer, généralement via le protocole Hypertext Transfer Protocol (HTTP). Par exemple, lorsque vous vous connectez à un compte en ligne, une API HTTP informe le système du compte de votre tentative de connexion, puis vous indique si celle-ci a réussi.

Elle peut être utilisée pour de nombreuses applications, mais nous l’utilisons pour l’email. Si vous envoyez un message dans le contexte de l’envoi d’emails avec Mailgun, vous utilisez une API web pour générer, mettre en file d’attente et envoyer votre message.

Comment une email API est-elle utilisée ?

Bien qu’une API puisse être utilisée pour de nombreuses applications et actions différentes, nous allons nous concentrer sur les email API. Avec les email API, une application donnée, comme un site e-commerce, peut utiliser l’API pour envoyer automatiquement des emails transactionnels (tels que des reçus et des confirmations) sans avoir à mettre en file d’attente et à envoyer chacun d’eux individuellement.

Lorsqu’un site web utilise Mailgun, il intègre du code dans des applications telles que des formulaires d’inscription ou des pages de paiement. Lorsqu’une action définie comme déclencheur se produit, le code envoie une requête API à Mailgun, lui demandant de générer et de livrer le bon email au destinataire prévu en utilisant les données du site web, comme une liste de contacts.

Mailgun API code

Toutes les email API fonctionnent de manière similaire à cet exemple. Leur objectif est de fournir des capacités d’envoi d’emails rapides et cohérentes, sans les tracas liés à l’utilisation d’un fournisseur ou d’un logiciel distinct. Pour faciliter son utilisation, l’API RESTful de Mailgun permet à l’équipe de développement d’utiliser le langage de codage de son choix, évitant ainsi le casse-tête de trouver un fournisseur qui utilise son langage spécifique.

Quels sont les avantages et les inconvénients de l’utilisation d’une email API ?

Maintenant que vous connaissez les bases de l’API, passons en revue quelques avantages et inconvénients de l’utilisation d’une API pour envoyer des emails.

Voici trois inconvénients à utiliser une email API :

  • Une courbe d’apprentissage abrupte : chaque email API est unique et nécessite un temps d’apprentissage avant de pouvoir être parfaitement intégrée à votre application.
  • Des intermédiaires tiers : chaque email API est gérée par des ESP externes comme Mailgun, vous devez donc faire confiance au fournisseur pour traiter vos emails de manière fiable et sécurisée.
  • Des connaissances en codage nécessaires pour résoudre les problèmes : alors que le SMTP vous fournit des codes de réponse à chaque étape, les email API nécessitent des connaissances en codage pour une résolution de problèmes efficace.

Cela dit, voici quelques avantages à utiliser une email API :

  • Une réduction de la complexité dans votre application : absolument. Puisque les email API sont fournies par des intermédiaires tiers, vous n’êtes pas responsable de leur création ni de leur maintenance. À la place, il vous suffit de les intégrer à votre application.
  • Un allègement de la charge de vos serveurs : étant donné que les ESP fournissent les email API en tant que service, la charge d’envoi d’emails est supportée par leurs serveurs plutôt que par les vôtres. Cela augmente votre délivrabilité et réduit les temps d’envoi.
  • L’accès à des statistiques sur vos envois d’emails : la plupart des ESP vous permettent de collecter facilement des statistiques sur vos pratiques d’envoi d’emails, notamment les taux d’ouverture, les taux de clics par rapport aux ouvertures et les taux de clics globaux.
  • Des fonctionnalités avancées : les API offrent la flexibilité nécessaire pour gérer de grandes pièces jointes en toute transparence, ce qui est particulièrement avantageux pour les entreprises qui envoient des rapports détaillés ou du contenu multimédia. 
  • Des statistiques et des retours en temps réel : vous pouvez suivre les taux d’ouverture, les taux de clics et d’autres statistiques d’engagement en temps réel, permettant une optimisation immédiate des campagnes d’emailing. 
  • Un risque réduit de blocage des emails : les API utilisent des connexions authentifiées et respectent les bonnes pratiques qui diminuent les risques que les emails soient marqués comme spam ou complètement bloqués. 
  • Une sécurité renforcée avec l’API Web : les clés API garantissent que seules les applications autorisées peuvent envoyer des emails, réduisant ainsi le risque d’utilisation non autorisée et améliorant la sécurité globale. 
  • Une réduction de la latence à l’international : en minimisant les allers-retours requis avec le SMTP, les API assurent des délais de livraison d’emails plus rapides pour les destinataires internationaux. 

SMTP et API en un coup d’œil

Fonctionnalité / Facteur SMTP Email API 
Facilité de configuration ✅ Plus simple à configurer, souvent préconfiguré par les ESP ❌ Nécessite des connaissances en codage et des efforts d’intégration 
Migration ✅ Indépendant de la plateforme, migration facile ❌ La migration peut nécessiter des ajustements de l’application 
Résolution de problèmes ✅ Les codes de réponse simplifient la résolution de problèmes ❌ Nécessite des compétences en codage pour résoudre les problèmes 
Performances (gros volumes d’emails) ❌ Plus lent en raison de multiples vérifications du serveur ✅ Plus rapide, optimisé pour l’envoi d’emails en masse 
Stabilité de la délivrabilité ❌ Les IP partagées peuvent affecter la réputation d’expéditeur ✅ Généralement stable, gérée par l’ESP 
Problèmes de port / Risques de spam ❌ Le port 25 peut être bloqué ou signalé par les FAI ✅ Aucun problème de port ; géré via l’API 
Charge du serveur ❌ Utilise vos serveurs pour l’envoi ✅ Charge gérée par l’ESP, ce qui améliore les performances 
Statistiques / Suivi ❌ Suivi intégré limité ✅ Fournit des statistiques détaillées sur les emails 
Courbe d’apprentissage ✅ Simple et standardisée ❌ Abrupte, chaque API est unique et nécessite un apprentissage 
Fiabilité / Automatisation ✅ Protocole standardisé et largement pris en charge ✅ Fiable et facile à automatiser avec des déclencheurs 

Quand utiliser le SMTP plutôt que l’API ?

Le SMTP et l’API peuvent sembler similaires, mais ils répondent à des objectifs distincts : le SMTP utilise une série de commandes textuelles pour transférer un email, tandis qu’une API SMTP offre une interface plus rapide, plus flexible et adaptée aux équipes de développement en utilisant des requêtes HTTP RESTful pour une livraison d’emails plus fluide et plus efficace.

Le SMTP et l’API sont tous deux pertinents lorsqu’il s’agit d’email. Cependant, chez Mailgun, nous vous recommandons plutôt l’une de ces méthodes. Découvrons ça ensemble.

Quand utiliser le SMTP pour l’envoi d’emails ?

Nous recommandons d’utiliser le SMTP si vous expédiez des emails mais que vous ne pouvez pas ajouter d’API à vos applications. Cela inclut les applications spécifiquement développées pour vous par un tiers qui ne peuvent pas intégrer d’API. De plus, il se peut que vous ayez un ancien système ou une méthode d’envoi utilisant le SMTP. Dans ce cas, il pourrait être plus économique en temps, en argent et en énergie de continuer à utiliser le SMTP plutôt que de migrer vers un nouveau service d’emailing (ESP). Si le jeu n’en vaut pas la chandelle, épargnez-vous cette peine.

Comme nous l’avons mentionné, le port 587 est généralement celui que vous devriez utiliser pour envoyer des emails via SMTP, mais vous pourriez avoir besoin d’un autre port si vous êtes bloqué ou si vous rencontrez un autre problème avec votre réseau.

Vous pouvez utiliser le SMTP pour l’envoi d’emails transactionnels ou d’emails en masse. L’inconvénient du SMTP est qu’il a tendance à être plus lent que l’API. Les serveurs communiquent beaucoup plus entre eux. Cela peut entraîner une baisse des performances lors de l’envoi d’emails.

Quand utiliser une API pour l’envoi d’emails ?

Nous recommandons d’utiliser une API pour l’email dès que possible, car les API impliquent moins d’allers-retours de communication entre les serveurs que les relais SMTP, ce qui les rend plus rapides et plus efficaces. Tout comme le SMTP, les API prennent en charge les emails en masse et transactionnels, mais leur processus rationalisé offre une plus grande flexibilité et de meilleures performances pour l’envoi de gros volumes.

Par exemple, si vous gérez un site e-commerce, vous devez fournir des reçus par email pertinents, des notifications d’expédition et d’autres messages d’emails transactionnels. Bien sûr, vous n’avez probablement ni le temps ni l’envie d’envoyer ces emails un par un à l’ensemble de votre clientèle.

Avec une email API, vous pouvez tirer parti de diverses fonctionnalités pour automatiser l’envoi et associer des messages à des déclencheurs. Contrairement au SMTP, vous pouvez facilement coder une API pour qu’elle fasse ce que vous voulez, quand vous le voulez. Un achat a été effectué ? Envoyez un reçu par email. Une commande est expédiée ? Envoyez automatiquement un numéro de suivi ou des mises à jour de localisation. Cela vous évite la corvée des mises à jour et des envois manuels de messages, rationalise le cycle de vie de votre service et renforce la relation avec votre clientèle.

Les confirmations et les reçus automatisés renforcent la confiance de votre clientèle et l’encouragent à revenir vers vous. Tout message qui réduit les frictions dans le parcours client est précieux, et une email API facilite la livraison de ces communications de manière fiable et efficace.

Comment commencer avec une email API ?

Maintenant que vous en savez un peu plus sur la différence entre le SMTP et l’API, vous pouvez envoyer vos emails en toute confiance. Vous saurez quelle méthode vous convient le mieux, et vous aurez deux acronymes de moins dont vous soucier. Vous souhaitez lire d’autres articles explicatifs comme celui-ci ? Découvrez nos réflexions sur la programmation parallèle, le suivi des ouvertures sur Gmail et le rendu des emails.

Si vous êtes prêt à commencer vos envois, découvrez notre puissante email API et voyez comment nous pouvons booster vos campagnes d’emailing dès aujourd’hui.

SMTP et API : FAQ

L’authentification des emails n’est pas tant liée au protocole (SMTP ou API) qu’à votre domaine d’envoi. Quelle que soit votre méthode d’envoi, vous devrez : 

  • SPF : ajouter un enregistrement TXT DNS qui autorise votre service d’emailing (ESP) à envoyer des emails en votre nom. Pour Mailgun, cela signifie inclure le mécanisme Mailgun dans votre enregistrement SPF. 
  • DKIM : publier une clé publique dans votre DNS et laisser votre service d’emailing signer les messages sortants avec la clé privée. Cela garantit que les messages ne peuvent pas être altérés pendant le transit. 
  • DMARC : configurer une politique DMARC dans le DNS pour indiquer aux fournisseurs de messagerie comment traiter les messages qui échouent aux vérifications SPF ou DKIM. Commencez par « p=none » pour surveiller, puis passez à « quarantine » ou « reject » une fois que vous êtes sûr de vous. 

Ces enregistrements se trouvent dans le DNS de votre domaine, que vous envoyiez des emails via SMTP ou via une API. Une fois qu’ils sont en place, Mailgun (ou un autre service d’emailing) les applique automatiquement aux emails sortants. 

À proprement parler, le SMTP lui-même n’est pas RESTful ; c’est un protocole. Mais de nombreux services de messagerie, dont Mailgun, exposent une email API RESTful que l’équipe de développement peut appeler au lieu d’utiliser le SMTP. 

  • Python : Cet article de blog explique comment utiliser l’API REST de Mailgun avec la bibliothèque requests. 
  • Node.js : Cet article de blog présente un exemple fonctionnel utilisant le SDK officiel. 

Si vous devez utiliser le SMTP, la plupart des langages le prennent en charge via des bibliothèques intégrées (smtplib pour Python, nodemailer pour Node.js). La principale différence est que vous vous connecterez à un hôte/port SMTP et transmettrez des identifiants au lieu d’interroger un point de terminaison HTTP. 

Recherchez ces fonctionnalités (Mailgun et d’autres ESP de premier plan les proposent) : 

  • Journaux de livraison et tableaux de bord : journaux en temps réel des messages acceptés, livrés, échoués ou retardés. 
  • Alertes webhook : notifications push en cas de rebonds, de plaintes ou d’échecs. 
  • Codes de réponse : le SMTP vous fournit des codes à chaque étape de la négociation (handshake). Les API fournissent souvent des objets d’état JSON. 
  • Tests de placement en boîte de réception : certains fournisseurs s’intègrent à des outils de test sur listes de contrôle (seed lists) pour voir où vos emails atterrissent. 
  • Surveillance de la réputation : de nombreux ESP affichent la réputation de votre IP/domaine d’envoi dans le tableau de bord. 

Les combiner vous aide à repérer rapidement les problèmes, qu’il s’agisse d’un port bloqué, d’une signature DKIM défaillante ou d’un problème de contenu qui déclenche les filtres anti-spam. 

Les tarifs et le débit diffèrent selon le fournisseur, mais vous observerez généralement : 

  • Le relais SMTP : souvent inclus « gratuitement » dans les abonnements d’hébergement ou de service d’emailing, mais plus lent, avec des limites implicites (connexions par seconde, taille par message). 
  • Les email API : généralement facturées par lot de 1 000 emails envoyés, les niveaux supérieurs débloquant des taux d’envoi plus rapides et des adresses IP dédiées. Les API ont tendance à prendre en charge une concurrence plus élevée que le SMTP, car il s’agit d’appels HTTP sans état plutôt que de connexions socket ouvertes.

Par exemple, les niveaux d’entrée de Mailgun vous offrent des milliers d’appels API par mois avec des limites de débit définies. Les abonnements pour de plus gros volumes fournissent une infrastructure dédiée et un envoi prioritaire. Vérifiez toujours les limites de taux d’envoi publiées par votre fournisseur pour éviter toute limitation. 

La migration est généralement simple si vous la planifiez bien : 

  1. Auditez votre utilisation actuelle du SMTP : dressez la liste de chaque application, tâche cron ou intégration qui envoie des emails. 
  2. Configurez vos identifiants API et vos enregistrements DNS : assurez-vous que SPF, DKIM et DMARC sont configurés pour votre domaine avant le basculement. 
  3. Implémentez l’API dans un environnement de test (staging) : commencez par des envois déclenchés ou de faible volume. 
  4. Surveillez les statistiques et la délivrabilité : comparez les taux de rebond et de plainte entre le SMTP et l’API pour valider la nouvelle configuration. 
  5. Une transition progressive : migrez d’abord les emails transactionnels (réinitialisations de mots de passe, reçus), puis les messages en masse/marketing une fois le système stable. 
  6. Retirez les anciens identifiants SMTP : renouvelez ou révoquez les mots de passe SMTP pour éviter toute utilisation accidentelle une fois l’API en ligne. 

Cette approche progressive minimise les temps d’arrêt et vous permet de profiter d’envois plus rapides, de meilleures statistiques et d’une plus grande flexibilité dans les plus brefs délais.