7 | Application |
---|---|
6 | Présentation |
5 | Session |
4 | Transport |
3 | Réseau |
2 | Liaison de données |
1 | Physique |
Modèle OSI |
Le Simple Mail Transfer Protocol (littéralement " Protocole simple de transfert de courrier "), généralement abrégé SMTP, est un protocole de communication utilisé pour transférer le courrier électronique vers les serveurs de messagerie électronique.
SMTP est un protocole assez simple (comme son nom l'indique). On commence par spécifier le ou les destinataires d'un message puis, l'expéditeur du message, puis, en général après avoir vérifié leur existence, le corps du message est transféré. Il est assez facile de tester un serveur SMTP en utilisant telnet sur le port 25.
Le SMTP commence à être largement utilisé au début des années 1980. Il est alors un complément à l'UUCP, celui-ci étant plus adapté pour le transfert de courriers électroniques entre des machines dont l'interconnexion est intermittente. Le SMTP, de son côté, fonctionne mieux lorsque les machines qui envoient et reçoivent les messages sont interconnectées en permanence.
Le logiciel Sendmail est l'un des premiers, sinon le premier serveur de messagerie électronique à utiliser SMTP. Depuis, la plupart des clients email peuvent utiliser SMTP pour envoyer les messages. Certains nouveaux serveurs sont apparus, comme Postfix, Qmail de Daniel J. Bernstein, Exim et Exchange de Microsoft (qui accomplit également d'autres fonctions).
Comme le protocole utilisait du texte en ASCII (7 bits), il ne fonctionnait pas pour l'envoi de n'importe quels octets dans des fichiers binaires. Pour pallier ce problème, des standards comme MIME ont été développés pour permettre le codage des fichiers binaires au travers de SMTP. Aujourd'hui, la plupart des serveurs SMTP acceptent le MIME sur 8 bits, ce qui permet de transférer des fichiers binaires presque aussi facilement que du texte simple.
SMTP ne permet pas de récupérer à distance des courriels arrivés dans une boîte aux lettres sur un serveur. Les standards POP et IMAP ont été créés dans ce but.
Le test par telnet mentionné ci-dessus donnerait un dialogue du genre (les messages du serveur sont en rouge') :
220 smtp.xxxx.xxxx SMTP Ready HELO client 250 Hello client, pleased to meet you MAIL FROM:250 ... Sender ok RCPT TO:250 recipient ok. DATA 354 Enter mail, end with "." on a line by itself Ceci est un test pour un article de wikipédia portant sur SMTP. . 250 Ok QUIT 221 Closing connection Connection closed by foreign host.
À la base, une des limitations de SMTP vient de l'impossibilité d'authentifier l'expéditeur. Pour ceci, l'extension SMTP-AUTH a été définie. Malheureusement, l'impossibilité d'imposer largement SMTP-AUTH a rendu ce protocole impuissant face au phénomène du spam.
Le Spam est dû à un certain nombre de facteurs dont : l'implémentation de MTAs ne respectant pas les standards, les failles de sécurité dans les systèmes d'exploitations autorisant les spammeurs à contrôler à distance des PC utilisateur pour leur faire envoyer du spam et enfin un manque d'intelligence de certain MTA.
Afin de lutter efficacement contre ce phénomène, il existe deux approches : modifier profondément SMTP ou même le remplacer ou bien lui adjoindre d'autres protocoles pour combler ses lacunes. Modifier SMTP de manière importante, ou le remplacer complètement, ne parait pas faisable, à cause de l'importance du réseau de serveurs déjà installé. Malgré tout des solutions alternatives ont été développées comme Internet Mail 2000 ou ePost.
Une autre approche consiste à créer des systèmes visant à assister les opérations du protocole SMTP. Le groupe de recherche anti-spam (ASRG) de l'IRTF (Internet Research Task Force), travaille actuellement sur l'authentification des courriers électroniques dans le but de fournir un système flexible, léger, et scalable. L'ensemble de ces recherches ont abouti au protocole MARID en 2004 ainsi qu'au protocole DomainKeys Identified Mail en 2006.