La présence d'un en-tête Content-ID dans un e-mail MIME signifie-t-elle que la pièce jointe doit être intégrée?

11

Deux produits de messagerie tiers différents que nous avons réagissent différemment à la présence d'un en- tête content-id dans la source MIME d'un e-mail. Cela se traduit par une expérience utilisateur incohérente que nous essayons de résoudre.

Voici un exemple:

--boundary-example
Content-Location: CID:somethingatelse 
Content-ID: <foo4atfoo1atbar.net>
Content-Type: IMAGE/GIF
Content-Transfer-Encoding: BASE64

R0lGODlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNv
cHlyaWdodCAoQykgMTk5LiBVbmF1dGhvcml6ZWQgZHV
wbGljYXRpb24gcHJvaGliaXRlZC4A etc..

Un produit de messagerie électronique interprète cela comme une image intégrée. L'autre interprète cela comme une pièce jointe ordinaire (non intégrée). Si nous supprimons complètement la ligne Content-ID , les deux produits pensent que la pièce jointe n'est pas intégrée.

Existe-t-il un RFC spécifique qui conclut définitivement quel comportement est correct? Un collègue et moi avons examiné la RFC2392 qui, dans le résumé d'ouverture, dit:

L'utilisation de [MIME] dans le courrier électronique pour transmettre des pages Web et leurs
images associées nécessite un schéma d'URL pour permettre au HTML de se référer
aux images ou autres données incluses dans le message. Le
localisateur uniforme de ressources Content-ID , "cid:", remplit cette fonction. […] Le schéma "cid" fait référence à une partie spécifique du corps d'un message; son utilisation est généralement limitée aux références à d'autres parties du corps dans le même message que la partie du corps référente. Le schéma "moyen" peut également faire référence à une partie de corps spécifique dans un message désigné, en incluant l'adresse de l'ID de contenu.

Donc, bien que n'étant pas absolu, nous sommes enclins à croire que, puisque tous les éléments intégrés ont besoin d'un cid pour les référencer, et qu'il est «généralement limité à d'autres parties du corps dans le même message», et que les pièces jointes n'ont pas besoin d'un cid , il est raisonnable qu'un produit de messagerie électronique traite la présence d'un cid comme un indicateur de «l'intention d'intégrer».

Puis-je obtenir une confirmation à ce sujet?

Mike B
la source
demandez à l'auteur du RFC ou au groupe de travail IETF concerné, peut-être?
sendmoreinfo

Réponses:

8

Le Content-IDn'indique pas qu'une image doit être affichée en ligne. Cet en-tête est nécessaire pour référencer les données incorporées dans HTML.

Comme un e-mail est un message texte, il n'y a aucune raison d'afficher une image intégrée, tant que le courrier est en texte brut.

Certains clients affichent les données en ligne, quel que soit le format HTML ou texte brut. Mais ce n'est pas un comportement défini

Thomas Berger
la source
8

Je pense que vous recherchez le Content-Dispositionchamp d'en-tête, qui vous permet de définir le style de présentation d'une partie du corps (comme une image) pour être inlineou attachment.

Voici un exemple en ligne créé par Thunderbird:

--------------040202010204080305090405
Content-Type: image/png; name="test.png"
Content-Transfer-Encoding: base64
Content-ID: <[email protected]>
Content-Disposition: inline; filename="test.png"

Vous pouvez en savoir plus sur:

james.garriss
la source
L'en-tête Content-Disposition n'est pas toujours inclus. Parfois, il est nécessaire de déterminer si une pièce est en ligne ou une pièce jointe en fonction des en-têtes fournis dans la question.
user2817219