Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

folding nagłówków

Termin Definicja
folding nagłówków

Folding nagłówków to technika łamania długich linii nagłówka wiadomości na kilka wierszy dla zachowania czytelności.

Na czym polega folding nagłówków wiadomości

Folding nagłówków, czyli składanie lub łamanie nagłówków, polega na zapisaniu jednego pola nagłówka wiadomości e-mail w kilku wierszach. Stosuje się je wtedy, gdy wartość pola jest długa i jej zapis w jednej linii byłby niewygodny do odczytania albo utrudniałby pracę programom obsługującym pocztę. Dotyczy to między innymi pól takich jak Subject, To, Cc, Reply-To oraz pól MIME opisujących typ i sposób kodowania treści.

W klasycznym formacie wiadomości zgodnym z RFC 5322 fizyczny koniec linii zapisuje się jako sekwencję CRLF, czyli znak powrotu karetki i znak nowej linii. Kontynuacja złamanego nagłówka musi rozpoczynać się od białego znaku, zwykle spacji albo tabulatora. Przykładowo nagłówek może mieć postać Subject: Długi temat wiadomości, a jego dalsza część może rozpoczynać się w kolejnym wierszu od spacji. Dla odbiorcy i programu pocztowego nadal jest to jedno pole nagłówka, a nie dwa niezależne pola.

RFC 5322 określa limit 998 znaków dla pojedynczej linii wiadomości, liczony bez końcowego CRLF, oraz zaleca, aby linie nie przekraczały 78 znaków, jeżeli nie jest to konieczne. Folding pomaga zmieścić się w zalecanej długości, ale nie powinien być traktowany jako dowolne cięcie tekstu w każdym miejscu. Reguły składni konkretnego pola nadal obowiązują po złożeniu linii.

Rozwijanie linii i interpretacja wartości nagłówka

Operacją odwrotną do folding jest unfolding, czyli usunięcie CRLF wraz z białym znakiem rozpoczynającym kontynuację. W uproszczeniu sekwencja końca linii połączona z następującą spacją lub tabulatorem jest zastępowana odpowiednim separatorem białych znaków. Dzięki temu kilka fizycznych wierszy tworzy jedną logiczną wartość pola. Parser poczty powinien wykonać tę operację przed analizowaniem składni adresów, parametrów MIME, identyfikatorów wiadomości lub innych elementów zapisanych w nagłówku.

Przykładowy zapis Subject: Raport z poniedziałkowego przeglądu może zostać podzielony na kilka linii, pod warunkiem że każda kolejna linia rozpoczyna się białym znakiem. Linia kontynuacji bez spacji lub tabulatora nie jest zwykłym przedłużeniem poprzedniego pola. Może zostać potraktowana jako nowe pole, jako błąd składni albo jako dane o innym znaczeniu, zależnie od parsera. Z tego powodu programy pocztowe nie powinny opierać interpretacji wyłącznie na wizualnym układzie tekstu.

Folding nie zmienia logicznie wartości nagłówka, ale może wpływać na sposób jej wyświetlania i przetwarzania. W polu To trzeba zachować poprawną składnię listy adresów, a w polach MIME nie wolno naruszać relacji między nazwą parametru a jego wartością. W nagłówkach zawierających znaki spoza podstawowego ASCII mogą występować kodowane słowa zgodne z RFC 2047. Ich zawartości nie należy przypadkowo rozcinać w taki sposób, aby parser utracił granice zakodowanego elementu.

Folding a format wiadomości, MIME i podpis DKIM

Łamanie nagłówków jest częścią formatu wiadomości, a nie zmianą treści załącznika lub treści głównej. Nagłówki są oddzielone od treści pustą linią. W przypadku wiadomości MIME nagłówki takie jak Content-Type i Content-Disposition mogą zawierać parametry, dlatego program składający linie musi uwzględniać składnię tych pól. Nieprawidłowe umieszczenie CRLF może zmienić granicę nagłówków i treści albo spowodować, że kolejny fragment zostanie potraktowany jako nowe pole.

Folding ma również znaczenie przy weryfikacji podpisu DKIM. Podpis DKIM obejmuje wybrane nagłówki i zależy od zastosowanej kanonikalizacji. Przy kanonikalizacji simple format nagłówków jest zachowywany znacznie dokładniej, dlatego dodatkowe zmiany białych znaków lub sposobu łamania linii mogą unieważnić podpis. Przy kanonikalizacji relaxed białe znaki w nazwach pól i wartościach są normalizowane, a składanie linii jest uwzględniane według reguł tej kanonikalizacji. Oznacza to, że serwer nie powinien samowolnie przepisywać podpisanych nagłówków przed ich sprawdzeniem.

Podczas analizy problemu warto obejrzeć źródło surowej wiadomości, a nie tylko widok przygotowany przez klienta pocztowego. Należy sprawdzić, czy kontynuacje zaczynają się od białego znaku, czy nie przekroczono długości linii, czy pola nie zostały zduplikowane oraz czy pośredni serwer nie zmienił kolejności albo zapisu nagłówków. W aplikacjach generujących pocztę trzeba ponadto odrzucać niekontrolowane znaki CR i LF w danych użytkownika używanych do budowania nagłówków. Pozwala to zapobiegać wstrzykiwaniu dodatkowych pól nagłówkowych.

Sprawdzanie folding nagłówków w programie pocztowym

Diagnostykę można rozpocząć od zapisania wiadomości jako źródła oryginalnego i wyszukania interesującego pola, na przykład Subject: albo Received:. Każdy kolejny wiersz rozpoczynający się spacją lub tabulatorem należy odczytywać jako kontynuację poprzedniego pola. Jeżeli wiersz nie ma takiego prefiksu, nie powinien być automatycznie dopisywany do wcześniejszej wartości. Warto także sprawdzić, czy plik używa prawidłowych zakończeń linii CRLF, ponieważ niektóre narzędzia zapisują tekst wyłącznie z LF.

Problemy z folding mogą objawiać się obciętym tematem, błędnie wyświetlonym adresem odbiorcy, uszkodzonym parametrem nazwy załącznika, odrzuceniem wiadomości przez serwer albo niezgodnością podpisu DKIM. Do testu można porównać surową wiadomość przed wysłaniem i po odebraniu, zwracając uwagę na pola dodane przez serwery pośrednie. Nie należy poprawiać takiego nagłówka przez przypadkową zamianę CRLF na zwykłą spację bez sprawdzenia, czy zmiana nie naruszy podpisu lub składni pola.

Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, a przy problemach z programem pocztowym można rozpocząć diagnostykę od porównania źródła wiadomości, konfiguracji klienta oraz zachowania serwera odbiorczego.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę