Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Simple Mail Transfer Protocol

Un article de Wikipédia, l'encyclopédie libre.
Page d’aide sur les redirections

« HELO » redirige ici. Pour les autres significations, voirHelo.

Simple Mail Transfer Protocol

Informations
FonctionEnvoi decourriels
SigleSMTP
Port25 (sans chiffrement)
465 (chiffrement implicite)
587 (chiffrementexplicite)
RFC1982 :RFC 821[1]
2008 :RFC 5321[2]

modifier

Simple Mail Transfer Protocol (SMTP, littéralement « protocole simple de transfert de courrier ») est unprotocole de communication utilisé pour transférer lecourrier électronique (courriel) vers lesserveurs de messagerie électronique.

SMTP est un protocole assez simple, dans lequel il faut commencer par spécifier l'expéditeur du message, puis le ou les destinataires d'unmessage, puis, en général après avoir vérifié leur existence, le corps du message est transféré. Il est possible de tester unserveur SMTP en utilisant la commandetelnet sur leport 25 d'un serveur distant.

Le SMTP commence à être largement utilisé au début desanné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 logicielSendmail est l'un des premiers, sinon le premierserveur de messagerie électronique à utiliser SMTP. Depuis, la plupart desclients de messagerie peuvent utiliser SMTP pour envoyer les messages. Certains nouveaux serveurs sont apparus, commePostfix,Qmail deDaniel J. Bernstein,Exim etExchange deMicrosoft.

Comme le protocole utilisait du texte enASCII (7bits), il ne fonctionnait pas pour l'envoi de n'importe quelsoctets dans desfichiers binaires. Pour pallier ce problème, des standards commeMIME 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 utiliseTCP pour le transfert des données.

SMTP ne permet pas de récupérer à distance descourriels arrivés dans uneboîte aux lettres sur un serveur. Les standardsPost Office Protocol (POP) etInteractive Message Access Protocol (IMAP) ont été créés dans ce but.

Principes d'envoi

[modifier |modifier le code]
Principe d'envoi via SMTP

Le transfert de messages entreserveurs de messagerie électronique se fait généralement sur le port 25 qui est le port standard enregistré auprès de l'IANA. Les serveurs utilisent lesenregistrements MX desserveurs DNS pour acheminer le courrier.

Lesclients de messagerie utilisaient aussi le port 25 (SMTP) pour soumettre des messages en utilisant le protocole SMTP. Mais la nécessité de mieux contrôler les envois des clients, en particulier par l'authentification, a conduit à l'attribution du port 587 (submission)[3].

Les administrateurs de serveur peuvent choisir si les clients utilisent le port TCP 25 (SMTP) ou le port 587 (submission, ou soumission en français), tel que formalisé dans laRFC 6409[4] (RFC 2476 précédemment), pour relayer le courrier sortant vers un serveur de messagerie. Les spécifications et de nombreux serveurs acceptent les deux. Bien que certains serveurs ont longtemps pris en charge le port historique 465 (SMTPS, aussi appelé "submissions") pour le SMTP sécurisé, en violation des spécifications jusqu'à fin 2017, il est préférable d'utiliser les ports standard et les commandes ESMTP (Extended SMTP) standard selon laRFC 3207[5], si une session sécurisée doit être utilisée entre le client et le serveur. Cependant début 2018, laRFC 8314[6] a finalement affecté officiellement le port 465 au protocole SMTP avecTLS implicite.

Syntaxe type d'une session SMTP

[modifier |modifier le code]

Le test partelnet mentionné ci-dessus donnerait, dans une fenêtre de terminal shell, un dialogue semblable à :

(la saisie de l'utilisateur est envert et les messages du serveur sont enrouge)

telnet smtp.----.---- 25Connected to smtp.----.----.220 smtp.----.---- SMTP ReadyHELO client250-smtp.----.----250-PIPELINING250 8BITMIMEMAIL FROM: <auteur@yyyy.yyyy>250 Sender okRCPT TO: <destinataire@----.---->250 Recipient ok.DATA354 Enter mail, end with "." on a line by itselfSubject: TestCorps du texte.250 OkQUIT221 Closing connectionConnection closed by foreign host.

Notons que la fin du texte est repérée par un point seul sur sa ligne. Lorsque le texte doit contenir un point seul sur sa ligne, il est donc nécessaire de le doubler (<CR><LF>..<CR><LF>).

Les codes retour SMTP

[modifier |modifier le code]

Comme on le constate dans l'exemple ci-dessus, il existe une syntaxe précise pour envoyer les messages et une série de codes retour sur trois chiffres pour indiquer le statut de la demande. Le premier chiffre du code retour indique le statut global de la demande, les deux autres chiffres donnent le détail du statut :

  • code 2 : la demande a été exécutée sans erreur ;
  • code 3 : la demande est en cours d'exécution ;
  • code 4 : indique une erreur temporaire ;
  • code 5 : la demande n'est pas valide et n'a pas pu être traitée.

Messages les plus courants :

CodeSignification[7]
220Premier code envoyé par le serveur lorsque la connexion s'est effectuée avec succès.
250Confirmation de commande acceptée.
354Réponse à la commande DATA. Le serveur attend les données du corps du message. Le client indique la fin du message par un point seul sur une ligne : <CR><LF>.<CR><LF>
421Échec temporaire au niveau de la connexion. Il se peut que le serveur soit surchargé, qu'il limite le nombre de connexions en provenance d'une même adresse IP ou que le service soit indisponible.
452Échec temporaire : nombre de destinataires maximum atteint.
550Échec permanent. La boîte aux lettres n'existe pas ou l'adresse du destinataire est invalide.
554Échec permanent au niveau de la connexion : utilisé à la place du code 220 pour les hôtes sur liste noire.

Sécurité et problème du spam

[modifier |modifier le code]
Article détaillé :Lutte anti-spam.

Une des limitations de SMTP vient de l'impossibilité d'authentifier l'expéditeur. Pour ceci, l'extensionSMTP-AUTH a été définie. Malheureusement, l'impossibilité d'imposer largement SMTP-AUTH a rendu ce protocole impuissant face au phénomène duspam.

Le spam est dû à un certain nombre de facteurs dont : l'implémentation de logicielsMail Transfer Agent (MTA) ne respectant pas les standards, lesfailles de sécurité dans lessystèmes d'exploitation autorisant les spammeurs à contrôler à distance des PC utilisateurs pour leur faire envoyer du spam et enfin un manque d'intelligence de certains MTA.

Afin de lutter efficacement contre ce phénomène, il existe deux approches : modifier profondément SMTP (voire 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 paraît pas faisable, à cause de l'importance du réseau de serveurs déjà installé. Malgré tout, des solutions alternatives ont été développées commeInternet Mail 2000 (en) ouePost.

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 (en), travaille actuellement[Quand ?] sur l'authentification descourriers électroniques dans le but de fournir un système flexible, léger, extensible, et évolutif. L'ensemble de ces recherches ont abouti au protocoleMARID en 2004 ainsi qu'au protocoleDomainKeys Identified Mail en 2006.

Blocage du port 25 par les fournisseurs d'accès

[modifier |modifier le code]

En 2006, l'AFA recommande auxfournisseurs d'accès internet (FAI) de bloquer les paquets TCP/IP sortant à destination du port 25[8]. L'idée développée est qu'« un utilisateur résidentiel ne devrait pouvoir émettre ses messages électroniques que via le serveur de sonfournisseur de messagerie électronique. »

À l'époque entre 50 % et 80 % du spam était généré par desordinateurs infectés[9].

En France et au Canada, les principaux FAI ont suivi cette recommandation : Orange, Bell, Videotron et CCAPcable bloquent le port 25 depuis[10], Free depuis (c'est une option, le blocage peut être désactivé)[11], AOL depuis 2003.

La pratique aujourd'hui est la soumission avec chiffrementTLS du message par l'utilisateur au serveur de messagerie en utilisant du SMTP authentifié (port 587 ou port 465). Le port 25 sert uniquement aux serveurs SMTP entre eux.

Notes et références

[modifier |modifier le code]
  1. (en) « SIMPLE MAIL TRANSFER PROTOCOL »,Request for commentsno 821,
  2. (en) « Simple Mail Transfer Protocol »,Request for commentsno 5321,
  3. (en) « Message Submission for Mail »,Request for commentsno 4409,
  4. (en) « Message Submission for Mail »,Request for commentsno 6409,
  5. (en) « SMTP Service Extension for Secure SMTP over Transport Layer Security »,Request for commentsno 3207,
  6. (en) « Use of TLS for Email Submission/Access »,Request for commentsno 8314,
  7. (en) Chris Porter,Email Security with Cisco IronPort, Indianapolis, Cisco Press,, 539 p.(ISBN 978-1-58714-292-5),p. 14
  8. Recommandation de l'AFA pour lutter contre le spam
  9. « L'AFA publie ses recommandations contre le spam », surpcinpact.com,(version du surInternet Archive)
  10. « Problème de mails avec Orange ? La cause au port 25 bloqué », surpcinpact.com,(version du surInternet Archive)
  11. Free bloque dorénavant le port 25

Voir aussi

[modifier |modifier le code]

Articles connexes

[modifier |modifier le code]

Liens externes

[modifier |modifier le code]
  • (en)RFC 1870 – SMTP Service Extension for Message Size Declaration
  • (en)RFC 2505 – Anti-Spam Recommendations for SMTP MTAs
  • (en)RFC 2920 – SMTP Service Extension for Command Pipelining
  • (en)RFC 3030 – SMTP Service Extensions for Transmission of Large and Binary MIME Messages
  • (en)RFC 3207 – SMTP Service Extension for Secure SMTP over Transport Layer Security
  • (en)RFC 3461 – Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Statut Notifications (DSNs)
  • (en)RFC 3463 – Enhanced Mail System Statut Codes
  • (en)RFC 3464 – An Extensible Message Format for Delivery Statut Notifications
  • (en)RFC 3834 – Recommendations for Automatic Responses to Electronic Mail
  • (en)RFC 4954 – SMTP Service Extension for Authentication
  • (en)RFC 5068 – Email Submission Operations: Access and Accountability Requirements
  • (en)RFC 5321 – Simple Mail Transfer Protocol
  • (en)RFC 5322 – Internet Message Format
  • (en)RFC 6409 – Message Submission for Mail
  • (en)RFC 6522 – The Multipart/Report Media Type for the Reporting of Mail System Administrative Messages
  • (en)RFC 6530 – Overview andFramework for Internationalized Email
  • (en)RFC 8314 – Use of TLS for Email Submission/Access
v ·m
Protocoles de messagerie Server
Protocoles de messagerie Client
v ·m
7.Application
6.Présentation
5.Session
4.Transport
3.Réseau
2.Liaison
1.Physique
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Simple_Mail_Transfer_Protocol&oldid=227003141 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp