Le langage des serveurs emailing : le protocole SMTP
Ce guide sur le protocole SMTP ambitionne de vous familiariser avec le langage des serveurs email. Certes, vous n’allez pas devenir un expert en protocole Internet dédié à la messagerie électronique, mais vous apprendrez plus que la base en matière de transmission de mails. À la fin de la lecture de notre tutoriel, vous serez en mesure d’en saisir l’essentiel, et de comment fonctionne une session SMTP.
Ainsi, vous serez en mesure de choisir un bon prestataire emailing et de tenir des échanges plus fructueux avec votre conseiller en email marketing.
Définition du SMTP
Le SMTP est l’acronyme de Simple Mail Transfer Protocol, littéralement traduisible en protocole simple de transfert de courrier. Un protocole Internet est un ensemble de règles et de procédures standards (principalement des syntaxes) qu’il faut respecter afin de mettre en liaison un réseau d’ordinateurs. Il existe une multitude de protocoles régissant l’Internet (HTTP, FTP (pour les fichiers) … POP, IMAP et SMTP).
Le SMTP est historiquement le premier protocole Internet créé. À l’origine, l’Internet qui se nommait encore Arpanet (1969), devait répondre au seul besoin de transfert de messages. Ce n’est qu’après que le Web ou le World Wide Web (WWW) fut inventé.
Le protocole de communication STMP (né sous le nom Mail Procol Box) fut adopté à l’échelle mondiale en 1982.
Le terme SMTP ne désigne plus uniquement le protocole, mais par extension du langage, il englobe aussi le serveur (la logistique) et le service de messagerie (l’offre de prestation).
Dans quel contexte utilise-t-on le protocole SMTP ?
Le protocole de communication SMTP est utilisé pour le transfert de courriers électroniques sur le réseau. Son rôle consiste à faire transiter les mails de façon fiable depuis les serveurs émetteurs vers les serveurs récepteurs afin que les destinataires puissent les consulter. Il importe de préciser que le protocole de messagerie SMTP est consacré à la phase transfert des e-mails (étape routage ou postage). La phase de récupération des courriels est l’affaire des protocoles POP ou IMAP.
Les clients emails lambda (les utilisateurs de la messagerie électronique) se limitent à l’utilisation de leur client messagerie ; il peut s’agir d’une application de messagerie installée sur leurs devices (Microsoft Outlook, Mozilla Thunderbird, Mail pour Apple, etc) ou de programmes webmail propres aux navigateurs (Gmail pour Google Chrome, Opera mail, Windows Live Mail, etc). Le plus gros du processus de transmission entrepris par les serveurs SMTP leur est invisible. Pour en mesurer la portée et la nature, faisons une analogie avec le vieux système de la Poste.
Qu’est ce qu’un serveur d’envoi SMTP ?
Le traditionnel système de la poste a été présent dans l’esprit du père du SMTP, l’Américain Roy Tomlinson, qui inventa aussi le concept de l’adresse électronique « Identifiant@ nom de domaine.prefixe ».
Si un touriste anglais envoie une carte postale depuis le petit village Tilly-sur-Seulles à sa famille habitant au village Ray en Sussex, elle sera collectée par un facteur, traitée d’abord dans le centre de tri du village breton, ensuite dans d’autres centres de tri intermédiaires français et anglais avant d’atterrir dans le centre de tri de Ray et déposée dans la boîte à lettre de la famille anglaise.
Le même périple est réservé aux e-mails, sauf que la durée se compte en secondes, que les contrôles sont plus sévères et que les expéditeurs sont notés !
Par analogie, le touriste anglais est un client email, le centre de tri Tilly-sur-Seulles est un serveur émetteur SMTP (serveur sortant ou client), les centres de tri intermédiaires sont des serveurs relais ou relais-SMTP, celui du village anglais est un serveur récepteur (serveur entrant ou cible). Quant aux facteurs, leur fonction est assurée par des algorithmes. Le lexique SMTP leur réserve les acronymes suivants : MUA pour Mail User Agent pour l’expédition et MDA pour Mial Delivery Agent pour la réception.
Avant de passer aux syntaxes et commandes échangées entre serveurs et relais, nous allons parler de port et présenter le modèle SMTP dans sa globalité.
Qu’est-ce qu’un port SMTP ?
Un port est un canal de transmission identifié par un numéro. Avant toute conversation SMTP, les serveurs doivent se mettre d’accord sur le canal à utiliser ; ils en existent une multitude sur Internet. Traditionnellement, le port 25 est réservé à l’emailing, mais, pour des raisons de sécurité (voir plus loin), ce port par défaut est refusé par certains FAI ou serveurs, les MTA utilisent alors d’autres disponibles : les ports 465 ou 587.
Le modèle SMTP
Les échanges commencent toujours par une sollicitation suivie d’une réponse positive ou négative. Un refus ne signifie pas automatiquement une fin de non-recevoir. Des alternatives sont proposées par le serveur émetteur ou récepteur jusqu’à l’accord final signifié par un OK. En langage SMTP, on parle de processus Commande/Réponse.
De façon générale, un transfert SMTP se déroule ainsi :
- Le client SMTP (l’expéditeur) soumet l’email rédigé au serveur de son application de messagerie ou à celui de son navigateur en appuyant sur Envoyer. C’est le Mail User Agent (logiciel MUA) qui s’en charge.
- Le serveur émetteur commence par identifier l’adresse IP du serveur cible. Il sollicite pour cela la base de données d’un serveur DNS (ou serveur de noms).
- Le serveur source envoie l’email directement ou via plusieurs serveurs relais (utilisation du MTA) au serveur cible. Chaque transfert entre deux serveurs obéit au SMTP protocol (la communication est bidirectionnelle selon le mode commande/réponse). La transmission est directe si l’expéditeur et le destinataire sont clients du même client messagerie (Yahoo, Gmail, Outlook). Le nombre de relais-SMTP est fonction de plusieurs critères. En tant que marketeurs emailing, demandez à votre prestataire de multiplier les relais de sécurisation et de vérification.
- Le serveur de destination stocke temporairement l’email dans la boîte temporaire d’emails (boîte hôte).
- Le destinataire MUA du destinataire télécharge l’email via le protocole IMAP ou POP3 (bouton consulter).
Vue d’ensembles des principales commandes SMTP
Une campagne emailing est complexe dans le réel, d’où la nécessité de recourir à des commandes SMTP pour assurer la fiabilité du transfert des messages. Voici une présentation sommaire des principales requêtes.
HELO : cette commande sert à dire bonjour et à se présenter. Son argument est le nom de l’hôte où réside l’émetteur-SMTP.
MAIL : cette requête initialise une session emailing. Son argument est la route inverse, c’est-à-dire les serveurs relais sollicités pour le renvoi d’un message d’erreurs.
RCPT (Récipient) : elle sert à identifier un récipiendaire unique (ou boîte hôte) du message ; en cas d’utilisation d’une liste de diffusion, elle est répétée autant de fois que nécessaire.
DATA : le récepteur comprend qu’il s’agit du corps du message, il se termine par le « . » isolé.
SEND : cette commande initialise une transaction par laquelle le message doit être envoyé sur un ou plusieurs terminaux. L’argument mentionne une route inverse.
RSET : c’est une demande d’annulation d’un envoi en cours. Toutes les données doivent être effacées (route, message, tampons, tables d’états …). Le récepteur confirme par un OK.
VERIFY : il s’agit de la requête de vérification du(es) adresse(s) du(es) destinataire(s).
EXPAND : utilisée en cas de disponibilité d’une liste de diffusion.
HELP : c’est une demande d’informations supplémentaires émise par le terminal récepteur
NOOP : le client demande une réponse du serveur pour éviter une déconnexion due à un délai d’attente.
QUIT : le client termine la session.
TURN : cette commande demande au récepteur se transformer en émetteur. La réponse peut être un OK ou un refus.
Présentation des codes réponse SMTP par fonction
500 : Erreur de syntaxe, commande non-reconnue
501 : Erreur de syntaxe dans les paramètres ou les arguments
502 : Commande non-implémentée
503 : Mauvaise séquence de commandes
504 : Paramètre de commande non-implémentée
211 : Etat système
214 : Message d’aide
220 : Service disponible
221 : Canal de transmission en cours de fermeture
421 : Service non-disponible, canal (ou port) fermé
250 : Action effectuée
251 : Utilisateur non local ; redirection vers <route-directe>
450 : Action non-effectuée car la boîte mail est non disponible (exemple, blockage par un autre utilisateur)
550 : Action non-effectuée car boîte mail non-disponible (non trouvée, pas d’accès)
451 : Action arrêtée : erreur de traitement
551 : Utilisateur non local ; essayer <route proposée>
452 : Action non-effectuée (manque de ressources système)
552 : Action arrêtée (manque de ressources de stockage)
553 : Action non-effectuée (nom de boîte-aux-lettres non autorisé)
554 : Transaction échouée
Pourquoi recourir à une solution emailing ?
En tant que marketeur, même si vous maîtrisez parfaitement ce protocole, vous ne pouvez pas garantir un bon taux de délivrabilité et une gestion intelligente de vos campagnes mailing. Les concepteurs du SMTP n’avaient pas prévu ces aspects, d’où la nécessité de faire appel à un professionnel de l’emailing qui maîtrise le SMTP et qui propose une solution d’optimisation des performances de votre marketing e-mailing.
Spamming via un relais SMTP ouvert
Un relais ouvert est un serveur qui permet d’envoyer des emails sans authentification, c’est-à-dire que tout expéditeur peut l’utiliser pour transmettre un email à tout destinataire : le paradis des spammeurs !
Or les FAI tiennent une liste des spammeurs et tracent les serveurs qui les utilisent. Si vous utilisez un relais blacklisté ou si un spammeur notoire utilise votre serveur à votre insu, votre campagne en subira les conséquences malgré votre innocence !
À l’image du relais SMTP proposé par Sarbacane, les professionnels de l’emailing évitent ce sort à leur client en utilisant des serveurs authentifiés. De plus, ils peuvent utiliser des terminaux relais dont la fonction unique consiste à sécuriser vos envois contre plusieurs risques.
Génération de rapport de campagnes emailing
Le protocole SMTP ne permet pas d’obtenir les indicateurs de performance de votre campagne. L’utilisation d’un outil emailing permet d’insérer un marquage de suivi des liens dans le corps de chaque message. Ainsi, les terminaux relais deviennent une source pour la collecte d’informations précieuses se rapportant aux taux d’ouverture, taux de clic, taux de rebond, taux de désabonnement, etc. Le réajustement de votre campagne emailing sur la base de ses métriques booste sa rentabilité.