Simple Mail Transfer Protocol – Protocole et service de courrier électronique. Langage standard et simple dans sa conception qui sert à véhiculer le courrier électronique sur l’Internet. SMTP, de même que HTML, et SNMP fait partie des standards de fait de l’Internet. Loin d’être nouveau, le protocole a été élaboré en 1982 par l’Arpanet (le réseau de la recherche américaine) à travers deux recommandations (RFC): la RFC 821, spécifiant les éléments de transmission et la RFC 822 pour la structure des messages, y compris celle de l’enveloppe. C’est le protocole qui permet aux serveurs de messagerie Internet de communiquer entre eux. Il achemine le courrier de serveur en serveur jusqu’au serveur destinataire.
Le modèle de communication est le suivant: après demande d’envoi d’un courrier de la part d’un client (expéditeur), le serveur de celui-ci établit une connexion avec un autre serveur (destinataire): en langage technique, on dit que la machine source établit une connexion TCP (Transmission control Protocol) avec le port 25 (un des ports applicatifs) de la machine distante. Car c’est le protocole TCP, standard de transmission de l’Internet, qui a la charge de transmettre les différentes applications: messagerie, pages Web…
Les différents objets qui constituent le modèle SMTP respectent des tailles minimales et maximales, ce qui permet de recevoir des messages et d’en émettre tout en étant sûr, à chaque implémentation de la norme sur une plate-forme matérielle donnée, que leur acheminement vers un destinataire rattaché à une autre plate-forme ne butera pas sur des problèmes de formats. Ainsi au niveau de l’utilisateur, SMTP a prévu un champ réservé au nom de l’utilisateur qui n’excède pas 64 caractères. Idem en ce qui concerne la longueur d’un nom de domaine ou d’un nombre, il ne devra pas dépasser 64 caractères. La longueur maximale d’un chemin (avant ou arrière, forward path et reverse path) est de 256 caractères, y compris les éléments de ponctuation et les éléments séparateurs. La longueur d’une ligne de commande n’excède pas pour sa part 512 caractères, y compris la commande proprement dite et le sigle de fin de commande <CRLF>. Idem en ce qui concerne la ligne de réponse qui reprend la même structure. Avec SMTP, la ligne de texte, finissant par la butée <CRLP>, ne dépasse pas les 1000 caractères. Enfin. le nombre de récipients de réception qui peuvent être en mémoire tampon rie doit pas dépasser le chiffre de 100.
La plupart du temps, le chemin que le courrier emprunte sur le réseau n’est pas direct. Entre le serveur de l’émetteur et celui du destinataire, plusieurs serveurs doivent être traversés. Si cela est le cas, le chemin à parcourir est indiqué dès le départ dans le champ de messages réservé à cet effet. Ces indications sont simples: traverser le serveur 2, 3, 4. Au fur et à mesure que le courtier passe à travers les serveurs indiqués, le chemin à parcourir s’efface et le champ réservé aux indications sur le chemin parcouru se remplit, jusqu’à destination finale. Le protocole SMTP fonctionne selon le principe de la fille d’attente (spooling). A savoir, qu’il permet de mettre en attente les messages à envoyer dans un « spooler ». Le serveur va régulièrement vérifier dans celuici s’il y a des messages à envoyer. Si le destinataire n’est pas disponible. le serveur attend puis renouvelle l’opération plusieurs fois. Si, au final, le message ne peut être délivré, il est alors rejeté ou renvoyé vers l’expéditeur.
Cette série d’étapes selon laquelle le serveur garde le message à envoyer en attente tout en multipliant les tentatives de contact avec le destinataire vaut à SNMP sa réputation de « protocole de bout en bout ». Cette dernière tient égaleraient au fait qu’il existe des passerelles SMTP pour dialoguer avec tous les systèmes propriétaires de messageries du marché (cc:Mail, MS/Mail, Notes, Mail Exchange, etc.).
Les trois composantes d’un email :
Un e-mail est composé d’une enveloppe, d’en-têtes et d’un corps de texte.
L’enveloppe est utilisée par le MTA, l’agent chargé du transfert, pour acheminer le message. Pour ce faire, le MTA se sert de deux champs d’information: la commande MAIL (exemple: from:<rsteven@internet.com) et la
commande RCPT (destinataire) (exemple: To:>tagazou@overnet.com). C’est la recommandation RFC 821 qui fixe le contenu et l’interprétation des données de l’enveloppe. Les en-têtes sont utilisés par les agents situés sur les postes utilisateurs. Exemples d’en-têtes: Received, Message-id (identifiant du message), From, Date, Reply-To… C’est la recommandation RFC 822 qui fixe les règles de lecture et d’interprétation de ces en-têtes dans SMTP. Le corps du texte constitue le message proprement dit à transmettre. Ce message est converti en code ASCII (codage universel) avant sa transmission. L’agent du poste utilisateur prend d’abord le corps du texte, lui ajoute les en-têtes et transmet la somme des deux à l’agent de transfert (MTA) situé sur le serveur de messagerie.
