¿La presencia de un encabezado Content-ID en un correo electrónico MIME significa que el archivo adjunto debe estar incrustado?

11

Dos productos de correo electrónico de terceros diferentes que tenemos reaccionan de manera diferente a la presencia de un encabezado de identificación de contenido en la fuente MIME de un correo electrónico. Esto está resultando en una experiencia de usuario inconsistente que estamos tratando de resolver.

Aquí hay un ejemplo:

--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 producto de correo electrónico interpreta esto como una imagen incrustada. El otro interpreta esto como un archivo adjunto ordinario (no incrustado). Si eliminamos completamente la línea Content-ID , ambos productos piensan que el archivo adjunto no está incrustado.

¿Existe un RFC específico que concluya definitivamente qué comportamiento es correcto? Un colega y yo revisamos RFC2392 que en el resumen inicial dice:

El uso de [MIME] en el correo electrónico para transmitir páginas web y sus
imágenes asociadas requiere un esquema de URL para permitir que el HTML haga referencia
a las imágenes u otros datos incluidos en el mensaje. El
Localizador uniforme de recursos de Content-ID , "cid:", sirve para ese propósito. […] El esquema "cid" se refiere a una parte específica del cuerpo de un mensaje; su uso se limita generalmente a referencias a otras partes del cuerpo en el mismo mensaje que la parte del cuerpo de referencia. El esquema "medio" también puede referirse a una parte específica del cuerpo dentro de un mensaje designado, incluyendo la dirección del ID de contenido.

Entonces, aunque no es absoluto, nos inclinamos a creer que dado que todos los elementos incrustados necesitan un cid para hacer referencia a ellos, y que está "generalmente limitado a otras partes del cuerpo en el mismo mensaje", y que los archivos adjuntos no necesitan un cid , es un comportamiento razonable para un producto de correo electrónico tratar la presencia de un cid, como un indicador de "intención de insertar".

¿Puedo obtener confirmación sobre esto?

Mike B
fuente
preguntar al autor de RFC o al IETF WG relevante, ¿tal vez?
sendmoreinfo

Respuestas:

8

El Content-IDno indica que una imagen deba mostrarse en línea. Este encabezado es necesario para hacer referencia a los datos incrustados en HTML.

Como un correo electrónico es un mensaje de texto, no hay razón para mostrar una imagen incrustada, siempre que el correo sea de texto sin formato.

Algunos clientes muestran los datos en línea, independientemente del formato que sea HTML o texto sin formato. Pero este no es un comportamiento definido

Thomas Berger
fuente
8

Creo que está buscando el Content-Dispositioncampo de encabezado, que le permite definir el estilo de presentación de una parte del cuerpo (como una imagen) para ser inlineo attachment.

Aquí hay un ejemplo en línea creado por Thunderbird:

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

Puedes leer más en:

james.garriss
fuente
El encabezado de disposición de contenido no siempre se incluye. A veces es necesario derivar si una parte está en línea o un archivo adjunto basado en los encabezados provistos en la pregunta.
usuario2817219