| Termin | Definicja |
|---|---|
| IMAP FETCH | IMAP FETCH to polecenie tego protokołu pobierające określone dane lub całą treść wskazanej wiadomości z serwera. Zakres danych pobieranych przez IMAP FETCHIMAP FETCH jest poleceniem protokołu Internet Message Access Protocol służącym do odczytywania informacji dotyczących konkretnej wiadomości zapisanej na serwerze pocztowym. Klient pocztowy najpierw wybiera skrzynkę za pomocą polecenia SELECT albo EXAMINE, a następnie wskazuje numer sekwencyjny wiadomości, której dane mają zostać pobrane. Serwer zwraca odpowiedź niesygnalizowaną w formie zbliżonej do „* numer FETCH (...)”, zawierającą żądane elementy. FETCH nie musi pobierać całej wiadomości. W zapytaniu można wskazać między innymi FLAGS, czyli flagi wiadomości, INTERNALDATE oznaczające datę wewnętrzną zapisu na serwerze, RFC822.SIZE określające rozmiar wiadomości w bajtach, ENVELOPE zawierające podstawowe dane nagłówkowe oraz BODY lub BODYSTRUCTURE opisujące strukturę treści. Do pobrania surowej wiadomości stosuje się również element RFC822, a do odczytu jej części — BODY[...]. Dzięki temu program pocztowy może najpierw pobrać nagłówki, a dopiero później tekst wiadomości lub załącznik. Numery sekwencyjne, identyfikatory UID i struktura odpowiedziW zwykłym poleceniu FETCH wiadomości są wskazywane za pomocą numerów sekwencyjnych obowiązujących w aktualnie wybranej skrzynce. Numer ten nie jest trwałym identyfikatorem wiadomości. Może się zmienić po usunięciu lub przeniesieniu wcześniejszych wiadomości. Z tego powodu klient, który synchronizuje skrzynkę między kolejnymi połączeniami, korzysta zazwyczaj z polecenia UID FETCH. W tym wariancie podany zakres odnosi się do trwałych identyfikatorów UID przypisanych wiadomościom w danej skrzynce. Przykładowe żądanie „A001 FETCH 12 (FLAGS RFC822.SIZE)” prosi o flagi oraz rozmiar wiadomości o numerze sekwencyjnym 12. Z kolei „A002 UID FETCH 348 (BODY.PEEK[])” odwołuje się do wiadomości o UID 348 i żąda jej pełnej treści bez ustawiania flagi przeczytania. Odpowiedź może zawierać kilka pól w jednej odpowiedzi FETCH, a treść tekstowa jest często przekazywana jako literal, czyli dane poprzedzone informacją o liczbie przesyłanych bajtów. Po zakończeniu odpowiedzi serwer wysyła odpowiedź oznaczoną tagiem klienta, na przykład „A001 OK”. Pobieranie nagłówków, części MIME i fragmentów wiadomościIMAP FETCH obsługuje wiadomości wieloczęściowe zgodne z formatem MIME. Element BODYSTRUCTURE pozwala klientowi rozpoznać, czy wiadomość zawiera zwykły tekst, HTML, obrazy lub załączniki, a także ustalić numery poszczególnych części. Notacja BODY[1] może wskazywać pierwszą część wiadomości, natomiast BODY[2] kolejną część, zależnie od struktury MIME. Można również pobierać wybrane nagłówki, na przykład za pomocą BODY.PEEK[HEADER] albo BODY.PEEK[HEADER.FIELDS (SUBJECT FROM DATE)], bez przesyłania całej zawartości. Różnica między BODY[] a BODY.PEEK[] ma znaczenie dla stanu wiadomości. Odczyt treści za pomocą BODY[] może spowodować ustawienie flagi \Seen, jeżeli serwer uzna wiadomość za przeczytaną. Wariant BODY.PEEK[] służy do pobrania tych samych danych bez zmiany tej flagi. Klient może także ograniczyć zakres pobieranych danych, używając częściowego pobierania w postaci BODY[TEXT] Problemy z FETCH mogą wynikać z użycia nieaktualnego numeru sekwencyjnego, nieprawidłowej składni elementu BODY, braku obsługi konkretnego rozszerzenia przez serwer albo błędnego przetwarzania literalów przez klienta. Po zmianach w skrzynce serwer może przesłać odpowiedź EXPUNGE, która zmienia numery sekwencyjne pozostałych wiadomości. Program powinien wtedy zaktualizować lokalny stan i korzystać z UID, jeżeli potrzebuje stabilnego odniesienia do konkretnego listu. Rola IMAP FETCH w działaniu programu pocztowegoPodczas synchronizacji skrzynki program pocztowy wykorzystuje FETCH do pobierania tylko tych informacji, które są potrzebne w danym momencie. Lista wiadomości może być zbudowana na podstawie flag, rozmiarów i kopert, a pełna treść jest pobierana dopiero po otwarciu wybranej wiadomości. Jeżeli nie pojawiają się nagłówki, treść lub załączniki, diagnostyka powinna obejmować ustawienia konta IMAP, poprawność portu i szyfrowania, stan połączenia oraz komunikaty protokołu rejestrowane przez aplikację. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, dlatego przy problemach z obsługą poczty można sprawdzić działanie klienta pocztowego oraz konfigurację systemu na używanym komputerze. Sama komenda IMAP FETCH jest elementem komunikacji programu z serwerem pocztowym; jej nieprawidłowe działanie może wskazywać na błąd konfiguracji, ograniczenie serwera albo problem z oprogramowaniem obsługującym konto. |