Inline attachment to załącznik osadzony bezpośrednio w treści wiadomości, wyświetlany bez konieczności jego pobierania.
Inline attachment w strukturze wiadomości MIME
Inline attachment to załącznik przekazany jako część struktury wiadomości e-mail, ale oznaczony jako element przeznaczony do wyświetlenia bezpośrednio w treści. Najczęściej dotyczy to obrazów umieszczonych w wiadomości HTML, takich jak logo, ilustracja, podpis graficzny albo zrzut ekranu. Odbiorca widzi taki element w określonym miejscu treści, zamiast otwierać osobny plik z listy załączników. Technicznie nie oznacza to, że dane obrazu są zapisane w samym kodzie HTML. Obraz jest zwykle osobną częścią wiadomości MIME, powiązaną z treścią za pomocą identyfikatora.
Wiadomość zawierająca elementy osadzone w treści jest często zbudowana jako multipart/related. Wewnątrz znajduje się część HTML oraz powiązane zasoby, na przykład plik JPEG, PNG lub GIF. Kod HTML może odwoływać się do takiego zasobu przez adres w postaci cid:identyfikator. Odpowiednia część MIME ma wtedy nagłówek Content-ID, którego wartość odpowiada identyfikatorowi użytemu w odwołaniu HTML. Dzięki temu program pocztowy może umieścić obraz w konkretnym miejscu wiadomości.
Content-ID, Content-Disposition i kodowanie pliku
Najważniejszym mechanizmem łączącym treść HTML z inline attachment jest nagłówek Content-ID. Przykładowo kod HTML może zawierać element <img src="cid:logo123">, a część MIME zawierająca obraz może mieć nagłówek Content-ID: <logo123>. Nawiasy ostre są typowym zapisem wartości nagłówka MIME, natomiast w odwołaniu cid: używa się identyfikatora bez tej składni. Identyfikator powinien być jednoznaczny w obrębie danej wiadomości, aby klient pocztowy mógł prawidłowo odnaleźć właściwy plik.
Drugim istotnym nagłówkiem jest Content-Disposition. Wartość inline wskazuje, że dana część jest przeznaczona do prezentacji w treści, podczas gdy attachment sugeruje wyświetlenie jej jako osobnego załącznika. W praktyce sposób prezentacji zależy również od programu pocztowego, jego ustawień i rodzaju wiadomości. Plik obrazu może być technicznie częścią multipart/related, ale klient pocztowy może dodatkowo pokazać go na liście załączników. Dane binarne są zwykle przekazywane z użyciem Content-Transfer-Encoding: base64, ponieważ klasyczna struktura wiadomości e-mail nie przesyła dowolnych bajtów bezpośrednio w zwykłym tekście.
Różnica między obrazem osadzonym a zwykłym załącznikiem
Zwykły załącznik jest zazwyczaj niezależnym plikiem do pobrania lub zapisania, na przykład dokumentem PDF, arkuszem albo fotografią dołączoną na końcu wiadomości. W treści HTML może nie istnieć żadne odwołanie do takiego pliku. Inline attachment pełni inną funkcję: jest zasobem wykorzystywanym przez treść wiadomości, najczęściej przez znacznik <img>. Jego położenie wynika z kodu HTML, a nie tylko z kolejności elementów na liście załączników.
Nie należy mylić inline attachment z obrazem ładowanym z internetu. Obraz osadzony przez cid: jest przekazywany razem z wiadomością jako część MIME. Obraz z adresem https://... wymaga natomiast pobrania z zewnętrznego serwera podczas otwierania wiadomości, o ile klient pocztowy na to pozwoli. Istnieje także obraz zapisany bezpośrednio w atrybucie src jako data URL, na przykład z prefiksem data:image/png;base64. To inny sposób przechowywania danych niż osobna część MIME wskazywana przez Content-ID. Rozróżnienie tych mechanizmów pomaga ustalić, dlaczego grafika nie pojawia się w treści, jest widoczna jako osobny plik albo wymaga dostępu do sieci.
Rozpoznawanie problemów z osadzonym elementem
Jeżeli inline attachment nie wyświetla się prawidłowo, warto sprawdzić, czy wiadomość zachowała strukturę multipart/related, czy odwołanie cid: dokładnie odpowiada wartości Content-ID oraz czy część MIME ma poprawny typ Content-Type, na przykład image/png albo image/jpeg. Błąd może wynikać z literówki w identyfikatorze, usunięcia powiązanej części MIME podczas konwersji wiadomości albo nieprawidłowego kodowania danych. Znaczenie ma także to, czy wiadomość jest wyświetlana jako HTML, czy jako zwykły tekst.
W środowisku laptopa lub komputera PC diagnostyka obejmuje porównanie wiadomości źródłowej z jej widokiem w programie pocztowym. Można sprawdzić nagłówki MIME, obecność części z identyfikatorem Content-ID, typ pliku oraz poprawność danych po dekodowaniu base64. Gdy obraz pojawia się jako pusty obszar, problem może dotyczyć nie samego pliku, lecz relacji między częścią HTML i zasobem. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów i komputerów PC, w tym diagnozowaniem problemów z oprogramowaniem pocztowym oraz wyświetlaniem wiadomości zawierających osadzone załączniki.