Czy obecność nagłówka Content-ID w e-mailu MIME oznacza, że ​​załącznik musi zostać osadzony?

11

Dwa różne zewnętrzne produkty e-mail, które mamy, reagują inaczej na obecność nagłówka content-id w źródle MIME wiadomości e-mail. Powoduje to niespójne wrażenia użytkownika, które próbujemy rozwiązać.

Oto przykład:

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

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

Jeden produkt e-mail interpretuje to jako osadzony obraz. Drugi interpretuje to jako zwykły załącznik (nie osadzony). Jeśli całkowicie usuniemy linię Content-ID , oba produkty uważają, że załącznik nie jest osadzony.

Czy istnieje konkretna specyfikacja RFC, która ostatecznie stwierdza, które zachowanie jest prawidłowe? Razem z kolegą zrecenzowaliśmy RFC2392, który w streszczeniu otwierającym mówi:

Użycie [MIME] w wiadomościach e-mail do przesyłania stron internetowych i
powiązanych z nimi obrazów wymaga schematu URL, który pozwala HTMLowi odnosić
się do obrazów lub innych danych zawartych w wiadomości. Identyfikator
zasobów Uniform Content-ID , „cid:”, służy temu celowi. […] Schemat „cid” odnosi się do określonej części ciała wiadomości; jego użycie jest zasadniczo ograniczone do odniesień do innych części ciała w tym samym komunikacie, co odsyłająca część ciała. Schemat „środkowy” może również odnosić się do określonej części ciała w wyznaczonej wiadomości, włączając adres content-ID.

Tak więc, choć nie jest to absolutne, jesteśmy skłonni wierzyć, że ponieważ wszystkie osadzone elementy potrzebują identyfikatora, aby się do nich odwoływać, i że „jest ogólnie ograniczone do innych części ciała w tej samej wiadomości” i że załączniki nie potrzebują identyfikatora , rozsądne jest, aby produkt e-mailowy traktował obecność cid jako wskaźnik „zamiaru osadzenia”.

Czy mogę uzyskać potwierdzenie?

Mike B.
źródło
zapytaj może autora RFC lub odpowiednią IETF WG?
sendmoreinfo

Odpowiedzi:

8

Content-IDNie wskazuje, że obraz powinien być wyświetlany inline. Ten nagłówek jest potrzebny do odniesienia do osadzonych danych w HTML.

Ponieważ wiadomość e-mail jest wiadomością tekstową, nie ma powodu, aby wyświetlać osadzony obraz, o ile wiadomość jest zwykłym tekstem.

Niektórzy klienci wyświetlają dane bezpośrednio, niezależnie od formatu HTML lub zwykłego tekstu. Ale to nie jest określone zachowanie

Thomas Berger
źródło
8

Myślę, że szukasz Content-Dispositionpola nagłówka, które pozwala zdefiniować styl prezentacji części ciała (np. Obrazu) jako inlinelub attachment.

Oto wbudowany przykład stworzony przez Thunderbirda:

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

Możesz przeczytać więcej na:

james.garriss
źródło
Nagłówek Content-Disposition nie zawsze jest uwzględniany. Czasami konieczne jest ustalenie, czy część jest wbudowana, czy załącznik oparty na nagłówkach podanych w pytaniu.
user2817219,