Simple Mail Transfer Protocol

Norme utilisée par Up ! Mail Service

La norme Simple Mail Transfer Protocol (SMTP) décrit comment envoyer un courrier électronique d'un client vers un serveur ou comment router un courrier entre deux serveurs.

La communication au format Simple Mail Transfer Protocol (SMTP) s'effectue sur un flux dont le transport est TCP-IP. Ce flux est texte uniquement.

La communication est à l'initiative du client : il pose une requête et le serveur répond. Le port d'écoute du serveur est usuellement 25.

La ligne de la requête est terminée par les caractères saut de ligne \r et retour chariot \n.

La réponse à la requête est une ou plusieurs lignes de texte comportant :

Les lignes de la réponse sont terminées par les caractères retour chariot \r et retour chariot \n.

Les limites de la norme sont les suivantes :

Contenu d'un courrier électronique

Le contenu d'un courrier électronique qui suit l'instruction DATA a les caractéristiques suivantes : Le contenu comprend en pratique :

Chemin d'envoi au destinataire

Le chemin d'envoi au destinataire utilisé dans la commande RCTP est une succession d'adresses de serveurs terminée par l'adresse e-mail du destinataire.

Voici des exemples :

Chemin de renvoi à l'émetteur

Le chemin de renvoi à l'émetteur utilisé dans la commande MAIL ou autre est une succession d'adresses de serveurs terminée par l'adresse e-mail de l'émetteur.

Voici des exemples :

Messages de Simple Mail Transfer Protocol

Voici les messages déclarés dans la norme :

211 System status, or system help reply. 214 Help message. 220 <domain> Service ready. 221 <domain> Service closing transmission channel. 250 Requested mail action okay, completed. 251 User not local; will forward to . 354 Start mail input; end with <CRLF>.<CRLF>. 421 <domain> Service not available, closing transmission channel. 450 Requested mail action not taken: mailbox unavailable. 451 Requested action aborted: local error in processing. 452 Requested action not taken: insufficient system storage. 500 Syntax error, command unrecognized. 501 Syntax error in parameters or arguments. 502 Command not implemented. 503 Bad sequence of commands. 504 Command parameter not implemented. 550 Requested action not taken: mailbox unavailable. 551 User not local; please try <forward-path>. 552 Requested mail action aborted: exceeded storage allocation. 553 Requested action not taken: mailbox name not allowed. 554 Transaction failed.

Syntaxe d'une conversation au format Simple Mail Transfer Protocol

Commandes : Commande : SuiteAide :

Exemple d'une conversation au format Simple Mail Transfer Protocol

Cette conversation comporte le flux de contrôle et le contenu du courrier :

HELO www.yahoo.fr\r\n MAIL FROM:<helene@yahoo.fr> \r\n RCPT TO<francois@hotmail.com> \r\n RCPT TO<pierre@hotmail.com> \r\n DATA\r\n Return-Path: <contact@microsoft.com> \r\n Delivered-To: commercial@up-comp.com \r\n Received: from www.microsoft.com\r\n by b0.monhebergeur.net with SMTP; 4 Dec 2005 19:33:29 -0000 \r\n Message-ID: <00099QJfaa0a$jashah0$edsjk6d9@ordinateur> \r\n From: "Helene Mac ARTHUR" <helene@yahoo.fr> \r\n To: "François Mitterand" <francois@hotmail.com> \r\n References: <GHAJJKJDJQKJDKQDJJDKQJJKQJJQ.francois@hotmail.com> \r\n Subject: Re: Thank you \r\n Date: Sun, 4 Dec 2005 22:35:05 +0300 \r\n MIME-Version: 1.0 \r\n Content-Type: multipart/alternative; \r\n boundary="----=_NextPart_000_0021_0156ABCD.AD0CDE40" \r\n X-Priority: 3 \r\n X-MSMail-Priority: Normal \r\n X-Mailer: Microsoft Outlook Express 5.00.2919.6600 \r\n Disposition-Notification-To: "Helene Mac ARTHUR" <helene@yahoo.fr> \r\n X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 \r\n X-MonHebergeur-Remote: 194.67.23.149 (mx3.yahoo.fr) \r\n X-MonHebergeur-Local: 213.186.33.29 (mx1.monhebergeur.net) \r\n X-Spam-Check: fait|type 1&3|0.9|H 0.5 \r\n \r\n --_NextPart_000_0021_0156ABCD.AD0CDE40\r\n Merci pour le pain.\r\n _NextPart_000_0021_0156ABCD.AD0CDE40--\r\n .\r\n QUIT\r\n