Date de publication du RFC : Janvier 2012
Auteur(s) du RFC : M. Kucherawy (Cloudmark)
Chemin des normes
Réalisé dans le cadre du groupe de travail IETF appsawg
Première rédaction de cet article le 17 janvier 2012
Un court RFC pour un format simple : le type
MIME multipart/report
permet d'envoyer des rapports structurés au sujet d'un message. Ce RFC est la
dernière version de la norme sur
multipart/report
, marquée par un léger allègement
des règles d'utilisation.
Pas de grands changements, sinon. L'idée de base de
multipart/report
est de pouvoir faire des
messages à propos des messages. Par exemple, un avis de non-remise
(RFC 3461) est un message disant qu'un message
n'a pu être remis, et intégrant le message originel. Un rapport
ARF (RFC 5965) est un message disant qu'un message est
abusif (spam, par exemple) et intégrant
également le message originel. D'où l'idée d'avoir un type commun pour
tous ces « messages sur les messages », et c'est
multipart/report
, normalisé dans notre RFC 6522, qui succède au RFC 3462 (qui
succédait lui-même au RFC 1892). Ce type
multipart/report
est très largement utilisé
depuis longtemps, et par de nombreux logiciels.
La présentation détaillée du type « rapport » figure en section 3. Voici d'abord un exemple d'un tel message, ici pour indiquer une non-délivrance, généré par un MTA Postfix :
Date: Wed, 11 Jan 2012 13:45:44 +0000 (UTC) From: MAILER-DAEMON@bortzmeyer.org (Mail Delivery System) Subject: Undelivered Mail Returned to Sender To: bortzmeyer@nic.fr Auto-Submitted: auto-replied MIME-Version: 1.0 Content-Type: multipart/report; report-type=delivery-status; boundary="154CD3AC2C.1326289544/mail.bortzmeyer.org" Content-Transfer-Encoding: 8bit This is a MIME-encapsulated message. --154CD3AC2C.1326289544/mail.bortzmeyer.org Content-Description: Notification Content-Type: text/plain; charset=us-ascii [La première partie du rapport, lisible par un humain.] This is the mail system at host mail.bortzmeyer.org. I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below. --154CD3AC2C.1326289544/mail.bortzmeyer.org Content-Description: Delivery report Content-Type: message/delivery-status [La deuxième partie du rapport, conçue pour être analysée par des programmes.] Reporting-MTA: dns; mail.bortzmeyer.org X-Postfix-Queue-ID: 154CD3AC2C X-Postfix-Sender: rfc822; bortzmeyer@nic.fr Arrival-Date: Wed, 11 Jan 2012 12:24:50 +0000 (UTC) Final-Recipient: rfc822; nothere@nowhere.example Action: failed Status: 5.4.4 Diagnostic-Code: X-Postfix; Host or domain name not found. Name service error for name=nowhere.example type=AAAA: Host not found --154CD3AC2C.1326289544/mail.bortzmeyer.org Content-Description: Undelivered Message Content-Type: message/rfc822 Content-Transfer-Encoding: 8bit [Puis le message originel, dans la troisième partie du rapport.]
Notez le paramètre report-type
, qui a ici la
valeur delivery-status
. (Cela serait
feedback-report
pour du ARF.)
Notez surtout le découpage en trois parties (la dernière est optionnelle) :
message/delivery-status
du RFC 3464).Si on trouve le message originel trop gros, la troisième partie
peut se composer uniquement des en-têtes du message. Elle aura alors
le type message/rfc822-headers
(section 4 de
notre RFC).
Naturellement, les messages multipart/report
ne sont pas plus authentifiés que les autres messages : il faut donc
éviter d'agir automatiquement lors de leur réception (section 7).
Le seul changement de fond depuis le RFC 3462
concerne une ancienne restriction :
multipart/report
ne pouvait apparaître qu'au plus
haut niveau du message (rappelez-vous que MIME
est récursif, un message MIME peut contenir d'autres messages
MIME). Cela interdisait, par exemple, de faire un
multipart/report
au sujet d'un
multipart/report
. Il semble bien que personne ne
mettait en œuvre cette restriction et ce nouveau RFC 6522 l'a donc supprimé. (Voir section 1.)
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)