next up previous contents index
Next: Déclaration de la taille Up: Quelques extensions Previous: Émission des messages en   Contents   Index


Accusé de remise

Les RFC 1891 à 1894 décrivent les DSN (Delivery Status Notifications). Il s'agit des accusés de remise1.4, c'est-à-dire d'un message informant l'émetteur d'un message de son dépôt dans la boîte aux lettres de son destinataire.

L'émetteur peut choisir les conditions d'émission de l'accusé : aucun accusé (même en cas d'échec de la transmission du message), ou alors accusé de réussite, d'échec, ou de retard de remise. L'émetteur peut également choisir entre un accusé contenant, outre un compte-rendu systématique, l'intégralité du message déposé ou seulement son en-tête1.5.

Comme pour l'extension 8BITMIME, si un MTA prend en charge un message demandant un accusé de remise, alors il garantit qu'il y aura émission d'un accusé. En particulier, si le prochain MTA ne supporte pas les accusés de remise, notre MTA doit émettre un accusé d'échec pour prévenir l'expéditeur que l'accusé demandé ne pourra pas lui être remis.

Pour supporter ces accusés, il faut enrichir les informations véhiculées dans l'enveloppe du message original, grâce à des paramètres supplémentaires des commandes MAIL et RCPT.

RCPT TO: destinataire NOTIFY=raison ORCPT=adresse

Le paramètre raison peut prendre la valeur NEVER, auquel cas aucun accusé de remise n'est généré, ou une liste de valeurs parmi SUCCESS, FAILURE et DELAY. Par exemple, si NOTIFY=SUCCESS,DELAY, un accusé est remis si le message arrive à bon port, mais également s'il réside longtemps dans la file d'attente d'un MTA sur le chemin.

L'adresse du destinataire peut être réécrite par les MTA intermédiaires, et peut donc ne plus correspondre à ce qu'a tapé l'expéditeur. Afin que l'accusé de remise soit correct, l'adresse originale du destinataire est spécifiée avec le paramètre adresse, ainsi que le type d'adresse (les types sont standardisés, et parmi ceux-ci figure le type rfc822).

MAIL FROM: expéditeur RET=retour ENVID=identificateur

Le paramètre retour indique la portion du message original que l'accusé doit contenir : les valeurs admises sont FULL pour avoir l'intégralité du message, ou HDRS pour n'avoir que les en-têtes.

Le paramètre identificateur, choisi par exemple par l'UA de l'expéditeur, figurera dans l'accusé. Cela permet à l'UA de retrouver le message original.

L'exemple suivant illustre l'utilisation de ces paramètres. Ici, l'accusé doit être envoyé en cas de succès, et doit spécifier l'adresse paul@uvsq.fr comme adresse de destinataire, même si cette adresse est réécrite suite à un alias. L'accusé doit contenir l'intégralité du message.

220 soleil.uvsq.fr ESMTP Sendmail 8.12.1/jtpda-5.4 ready at Fri, 23 Nov 2001 09:30:15 (GMT)
EHLO shiva.jussieu.fr
250-soleil.uvsq.fr Hello shiva.jussieu.fr, pleased to meet you
250-DSN
250 HELP
MAIL FROM: <jean@jussieu.fr> RET=HDRS ENVID=toto
250 <jean@jussieu.fr>... Sender ok
RCPT TO: <paul@uvsq.fr> NOTIFY=SUCCESS ORCPT=rfc822;paul@uvsq.fr
250 <paul@uvsq.fr>... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
From: jean@jussieu.fr (Jean Breille)
To: paul@uvsq.fr (Paul Ochon)
Subject: essai

ceci est un essai
.
250 LAA00602 Message accepted for delivery
QUIT

En supposant que le message arrive à destination, le MTA final enverra le message suivant, dont le format est spécifié par les RFC 1892 et RFC 1894 (voir 1.8.2, page [*]) :

From: Mailer-Daemon (Mail Delivery Subsystem)
Subject: Return receipt
To: <jean@jussieu.fr>
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status; boundary="xxxxxx"
Auto-Submitted: auto-generated (return-receipt)

This is a MIME-encapsulated message

--xxxxxx

The original message was received at Fri, 23 Nov 2001 09:30:39 (GMT) from soleil.uvsq.fr

   ----- The following addresses had successful delivery notifications -----
"|/usr/local/bin/procmail -Yf -"  (successfully delivered to mailbox)
    (expanded from: <paul@prism.uvsq.fr>)

   ----- Transcript of session follows -----
"|/usr/local/bin/procmail -Yf -"... Successfully delivered

--xxxxxx
Content-Type: message/delivery-status

Original-Envelope-Id: toto
Reporting-MTA: dns; guillotin.prism.uvsq.fr
Received-From-MTA: dns; soleil.uvsq.fr
Arrival-Date: Fri, 23 Nov 2001 09:30:39 (GMT)

Original-Recipient: rfc822;paul@uvsq.fr
Final-Recipient: rfc822; paul@guillotin.prism.uvsq.fr
Action: delivered (to mailbox)
Status: 2.1.5
Last-Attempt-Date: Fri, 23 Nov 2001 09:30:39 (GMT)

--xxxxxx
Content-Type: text/rfc822-headers

From: jean@jussieu.fr
Date: Fri, 23 Nov 2001 09:30:04 (GMT)
To: paul@uvsq.fr
Subject: essai

--xxxxxx

À partir de la version 8.8, sendmailsupporte les accusés de remise.


next up previous contents index
Next: Déclaration de la taille Up: Quelques extensions Previous: Émission des messages en   Contents   Index
Pierre DAVID 2001-11-26