Чи означає наявність заголовка Content-ID в MIME-повідомленні електронної пошти, що вкладення має бути вбудованим?


11

Два різних сторонніх електронних продуктів, які ми маємо, по-різному реагують на наявність заголовка ідентифікатора вмісту у 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" відноситься до певної частини тіла повідомлення; його використання, як правило, обмежується посиланнями на інші частини тіла в тому ж повідомленні, що і частина тіла, що направляється. Схема "середина" може також посилатися на певну частину тіла в межах призначеного повідомлення, включаючи адресу Content-ID.

Тож, хоча це не абсолют, ми схильні вважати, що оскільки всі вбудовані елементи потребують cid для посилання на них, і що він "загалом обмежений іншими частинами тіла в одному повідомленні", і що додатки не потребують cid , розумна поведінка для електронного продукту трактує наявність cid як показник "наміру вставляти".

Чи можу я отримати підтвердження щодо цього?


Запитайте автора RFC або відповідну IETF WG, можливо?
надішлітьінфо

Відповіді:


8

Значення Content-IDне вказує на те, що зображення повинно відображатися в рядку. Цей заголовок потрібен для посилання на вбудовані дані в HTML.

Оскільки електронний лист є текстовим повідомленням, немає причин відображати вбудоване зображення, якщо пошта є звичайним текстом.

Деякі клієнти відображають дані вбудовані незалежно від формату HTML або звичайного тексту. Але це не визначена поведінка


8

Я думаю, ви шукаєте Content-Dispositionполе заголовка, яке дозволяє визначити стиль викладу частини тіла (наприклад, зображення), яка буде inlineабо attachment.

Ось короткий приклад, створений Thunderbird:

--------------040202010204080305090405
Content-Type: image/png; name="test.png"
Content-Transfer-Encoding: base64
Content-ID: <part1.02080004.04000407@sample.com>
Content-Disposition: inline; filename="test.png"

Ви можете прочитати більше на:


Заголовок вмісту-диспозиції не завжди входить. Іноді потрібно встановити, чи частина вбудована, або додаток на основі заголовків, наведених у питанні.
користувач2817219
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.