RFC2034 page - 4 - Freed

Groupe de travail Réseau

N. Freed, Innosoft

Request for Comments : 2034

octobre 1996

Catégorie : En cours de normalisation

Traduction Claude Brière de L'Isle



Extension de service SMTP pour le retour de codes d'erreur améliorés



Statut du présent mémoire

Le présent document spécifie un protocole de l’Internet en cours de normalisation pour la communauté de l’Internet, et appelle à des discussions et suggestions pour son amélioration. Prière de se référer à l’édition en cours des "Normes officielles des protocoles de l’Internet" (STD 1) pour connaître l’état de la normalisation et le statut de ce protocole. La distribution du présent mémoire n’est soumise à aucune restriction.


1. Résumé


Le présent mémoire définit une extension au service SMTP [RFC0821], [RFC1869] par laquelle un serveur SMTP ajoute à ses réponses les codes d'état du système de messagerie améliorée définis dans la [RFC1893]. Ces codes peuvent alors être utilisés pour apporter des explications plus informatives sur les conditions d'erreur, en particulier dans le contexte du format des notifications d'état de livraison défini dans la [RFC1894].


2. Introduction


Bien que SMTP soit largement et solidement déployé, diverses extensions ont été demandées par des parties de la communauté de l'Internet. En particulier, il existe dans l'Internet moderne, international et multilingue, un besoin d'allouer des codes à des conditions d'erreur spécifiques qui puissent être traduites dans différentes langues. La [RFC1893] définit un tel ensemble de codes d'état et la [RFC1894] définit un mécanisme pour envoyer de tels matériaux codés aux usagers. Cependant, dans de nombreux cas, l'agent qui crée la notification d'état de livraison [RFC1894] fait cela en réponse aux erreurs qu'il reçoit de la part d'un serveur SMTP distant.


À ce titre, les serveurs distants ont besoin d'un mécanisme pour incorporer des codes d'état améliorés dans leurs réponses ainsi que comme moyen pour indiquer à un client quand il se comportent ainsi. Le présent mémoire utilise le mécanisme d'extension SMTP décrit dans la RFC1869 pour définir un tel mécanisme.


3. Cadre pour l'extension des états d'erreur améliorés


L'extension de transport des états d'erreur améliorés se compose comme suit :

(1) le nom de l'extension de service SMTP définie ici est Codes d'état améliorés ;

(2) la valeur du mot clé EHLO associée à l'extension est ENHANCEDSTATUSCODES ;

(3) aucun paramètre n'est utilisé avec le mot clé ENHANCEDSTATUSCODES EHLO ;

(4) la partie textuelle de toutes les réponses SMTP 2xx, 4xx, et 5xx autre que l'accueil initial et toute réponse à HELO ou EHLO est préfacée d'un code d'état comme défini dans la [RFC1893]. Ce code d'état est toujours suivi par une ou plusieurs espaces.

(5) aucun verbe SMTP additionnel n'est défini par cette extension ;

(6) la section suivante spécifie comment la prise en charge de l'extension affecte le comportement d'un serveur et d'un client SMTP.


4. Extension de service Code d'état amélioré


Les serveurs qui prennent en charge l'extension Codes d'état améliorés doivent préfacer la partie de texte de presque toutes les lignes de réponse avec un code d'état. Comme dans la [RFC1893], la syntaxe de ces codes d'état est donnée par l'ABNF :


code-d'état ::= classe "." sujet "." détail

classe ::= "2" / "4" / "5"

sujet ::= 1*3chiffres

détail ::= 1*3chiffres


Ces codes doivent apparaître dans toutes les lignes de réponse 2xx, 4xx, et 5xx autres que l'accueil initial et toute réponse à HELO ou EHLO. Noter que les réponses 3xx NE SONT PAS incluses dans cette liste.


Tous les codes d'état retournés par le serveur doivent être en accord avec le code de réponse principal, c'est-à-dire qu'une réponse 2xx doit incorporer un code 2.X.X, une réponse 4xx doit incorporer un code 4.X.X, et une réponse 5xx doit incorporer un code 5.X.X.


Lorsque les réponses sont continues à travers plusieurs lignes, le même code d'état doit apparaître au début du texte dans chaque ligne de la réponse.


Les serveurs qui prennent en charge cette extension doivent attacher les codes d'état améliorés à leurs réponses sans considérer si EHLO est employé ou non par le client.


5. Codes d'état et négociation


La présente spécification ne fournit pas de moyen pour que les clients demandent que des codes d'état soient retournés ou non ; un serveur conforme inclut ces codes dans les réponses qu'il envoie sans considérer si le client les attend ou non. C'est un peu différent de ce que font la plupart des autres extensions SMTP, où en général un client doit spécifiquement faire une demande avant que le serveur disposant de l'extension se comporte différemment d'un serveur qui n'a pas l'extension. L'omission de la négociation avec le client est dans ce cas entièrement intentionnelle: Étant donné l'état généralement misérable des mises en œuvre de code d'erreur par les serveurs SMTP on a pensé que toute mesure en faveur de codes plus compréhensibles était quelque chose dont tous les clients, avec ou sans l'extension, devraient bénéficier.


NOTE IMPORTANTE : L'utilisation de cette approche de l'extension devrait être perçue comme très exceptionnelle. Elle NE DOIT PAS être prise pour la permission à de futures extensions SMTP de changer radicalement la nature de l'interaction client-serveur SMTP sans une annonce appropriée de la part du serveur et une commande d'activation correspondante par le client.


6. Exemple d'utilisation


Le dialogue suivant illustre l'utilisation des codes d'état améliorés par un serveur :


S: <attend la connexion sur l'accès TCP 25>

C: <ouvre la connexion avec le serveur>

S: 220 dbc.mtview.ca.us service SMTP prêt

C: EHLO ymir.claremont.edu

S: 250-dbc.mtview.ca.us dit hello

S: 250 ENHANCEDSTATUSCODES

C: MAIL FROM:<ned@ymir.claremont.edu>

S: 250 2.1.0 Originator <ned@ymir.claremont.edu> ok

C: RCPT TO:<mrose@dbc.mtview.ca.us>

S: 250 2.1.5 Recipient <mrose@dbc.mtview.ca.us> ok

C: RCPT TO:<nosuchuser@dbc.mtview.ca.us>

S: 550 5.1.1 Mailbox "nosuchuser" n'existe pas

C: RCPT TO:<remoteuser@isi.edu>

S: 551-5.7.1 Transmission aux hôtes distants désactivée

S: 551 5.7.1 Choisie un autre hôte pour agir comme transmetteur

C: DATA

S: 354 Envoi du message, tremine par un CRLF.CRLF.

...

C: .

S: 250 2.6.0 Message accepté

C: QUIT

S: 221 2.0.0 Au revoir


Le client qui reçoit ces réponses peut alors envoyer une notification de non livraison de forme générale :


Date: Mon, 11 Mar 1996 09:21:47 -0400

From: Mail Delivery Subsystem <mailer-daemon@ymir.claremont.edu>

Sujet: Message retourné

To: <ned@ymir.claremont.edu>

MIME-Version: 1.0

Content-Type: multipart/report; report-type=état de livraison ;

boundary="JAA13167.773673707/YMIR.CLAREMONT.EDU"


--JAA13167.773673707/YMIR.CLAREMONT.EDU

content-type: text/plain; charset=us-ascii


----- Le message a bien été relayé à l'adresse suivante -----

<mrose@dbc.mtview.ca.us>


----- l'adresse suivante a des problèmes de livraison -----

<nosuchuser@dbc.mtview.ca.us>

(Mailbox "nosuchuser" n'existe pas)

<remoteuser@isi.edu>

(La transmission aux hôtes distants est désactivée)


--JAA13167.773673707/YMIR.CLAREMONT.EDU

content-type: message/delivery-status


Reporting-MTA: dns; ymir.claremont.edu


Original-Recipient: rfc822;mrose@dbc.mtview.ca.us

Final-Recipient: rfc822;mrose@dbc.mtview.ca.us

Action: relayé

Status: 2.1.5 (Adresse de destination valide)

Diagnostic-Code: smtp;

250 Recipient <mrose@dbc.mtview.ca.us> ok

Remote-MTA: dns; dbc.mtview.ca.us


Original-Recipient: rfc822;nosuchuser@dbc.mtview.ca.us

Final-Recipient: rfc822;nosuchuser@dbc.mtview.ca.us

Action: échec

Status: 5.1.1 (Mauvaise adresse de boîte aux lettres de destination)

Diagnostic-Code: smtp;

550 La boîte aux lettres "nosuchuser" n'existe pas

Remote-MTA: dns; dbc.mtview.ca.us


Original-Recipient: rfc822;remoteuser@isi.edu

Final-Recipient: rfc822;remoteuser@isi.edu

Action: échec

Status: 5.7.1 (Livraison non autorisée, message refusé)

Diagnostic-Code: smtp;

551 Transmission aux hôtes distants désactivée

Choisir un autre hôte pour agir domme transmetteur

Remote-MTA: dns; dbc.mtview.ca.us


--JAA13167.773673707/YMIR.CLAREMONT.EDU

content-type: message/rfc822


[Le message d'origine vient ici]

--JAA13167.773673707/YMIR.CLAREMONT.EDU--


Noter que pour réduire l'encombrement, le MTA qui fait rapport a omis les informations de code d'état amélioré dans les champs de code de diagnostic qu'il a généré.


7. Considérations pour la sécurité


Des détails suplémentaires dans les réponses des serveurs fournissent automatiquement des informations supplémentaires sur le serveur. Il est concevable que des informations supplémentaires de cette sorte puissent aider à circonvenir la sécurité du serveur. L'avantage que fournissent ces informations supplémentaires doit toujours être comparé aux implications pour la sécurité d'agir ainsi.


8. Références


[RFC0821] J. Postel, "Protocole simple de transfert de messagerie", STD 10, août 1982.


[RFC1869] J. Klensin, N. Freed, M. Rose, E. Stefferud, D. Crocker, "Extensions de service à SMTP", novembre 1995. (Obsolète, voir RFC5321, STD0010)


[RFC1893] G. Vaudreuil, "Codes d'état du système de messagerie améliorée", janvier 1996. (Obsolète, voir RFC3463) (P.S.)

[RFC1894] K. Moore, G. Vaudreuil, "Format de message extensible pour les notifications d'état de livraison", janvier 1996. (Obsolète, voir RFC3464) (P.S.)


9. Adresse de l'auteur


Ned Freed

Innosoft International, Inc.

1050 East Garvey Avenue South

West Covina, CA 91790

USA

tél : +1 818 919 3600 fax: +1 818 919 3614

mél : ned@innosoft.com