Два разных сторонних почтовых продукта по-разному реагируют на наличие заголовка content-id в источнике MIME электронной почты. Это приводит к противоречивому взаимодействию с пользователем, которое мы пытаемся устранить.
Вот пример:
--boundary-example
Content-Location: CID:somethingatelse
Content-ID: <foo4atfoo1atbar.net>
Content-Type: IMAGE/GIF
Content-Transfer-Encoding: BASE64
R0lGODlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNv
cHlyaWdodCAoQykgMTk5LiBVbmF1dGhvcml6ZWQgZHV
wbGljYXRpb24gcHJvaGliaXRlZC4A etc..
Один продукт электронной почты интерпретирует это как встроенное изображение. Другой интерпретирует это как обычное вложение (не внедрено). Если мы полностью удалим строку Content-ID , оба продукта будут считать, что вложение не встроено.
Существует ли конкретный RFC, который окончательно определяет, какое поведение является правильным? Мы с коллегой рассмотрели RFC2392, в котором во вступительном реферате говорится:
Использование [MIME] в электронной почте для передачи веб-страниц и
связанных с ними изображений требует схемы URL-адресов, чтобы позволить HTML-ссылке ссылаться
на изображения или другие данные, включенные в сообщение.
Унифицированный указатель ресурса Content-ID , "cid:", служит этой цели. […] Схема «cid» относится к определенной части тела сообщения; его использование обычно ограничивается ссылками на другие части тела в том же сообщении, что и ссылающаяся часть тела. «Средняя» схема может также ссылаться на конкретную часть тела в указанном сообщении, включая адрес идентификатора контента.
Поэтому, хотя и не абсолютно, мы склонны полагать, что, поскольку все встроенные элементы нуждаются в cid для ссылки на них, и что он «обычно ограничен другими частями тела в том же сообщении», и что вложения не нуждаются в cid Для продукта электронной почты разумно рассматривать наличие cid как показатель «намерения внедрить».
Могу ли я получить подтверждение по этому поводу?
Ответы:
Символ
Content-ID
не означает, что изображение должно отображаться в строке. Этот заголовок необходим для ссылки на встроенные данные в HTML.Поскольку электронное письмо является текстовым сообщением, нет никакой причины отображать внедренное изображение, если оно является текстовым.
Некоторые клиенты отображают данные встроенными независимо от формата HTML или обычного текста. Но это не определенное поведение
источник
Я думаю, что вы ищете
Content-Disposition
поле заголовка, которое позволяет вам определить стиль представления части тела (например, изображения), чтобы бытьinline
илиattachment
.Вот встроенный пример, созданный Thunderbird:
Вы можете прочитать больше на:
источник