Gdzie w pliku MBOX są załączniki?
Załączniki siedzą w samej wiadomości, zakodowane jako tekst base64 w części MIME. Dlatego plik jest tak duży, dlatego szukanie słów wewnątrz PDF-a nic nie daje i dlatego jeden stary format stracił załączniki bez reszty.
W samej wiadomości. Załącznik to część MIME tej samej wiadomości, a jego binarna zawartość jest zakodowana jako tekst base64, żeby mogła przejść przez pocztową infrastrukturę obsługującą wyłącznie tekst. Nie ma żadnego folderu z załącznikami — plik MBOX jest samowystarczalny, a każde zdjęcie i każdy PDF, jaki kiedykolwiek do ciebie przyszedł, leży w nim jako znaki.
Jak to wygląda
Wiadomość z załączonym PDF-em ma zewnętrzny kontener multipart/mixed, a w nim dwie rzeczy: treść (często sama będąca multipart/alternative z wersją tekstową i HTML-ową) oraz część z załącznikiem. Każda część deklaruje własny typ, a całość rozdzielają ciągi granicy.
Część z załącznikiem niesie nagłówek Content-Disposition: attachment z nazwą pliku, nagłówek Content-Type mówiący, co to właściwie jest (application/pdf, image/png), a potem kilka tysięcy wierszy base64.
Wynikają z tego trzy rzeczy, a każda tłumaczy coś, co ludzie zauważają:
Twój plik jest większy niż poczta, którą dostałeś. Base64 kosztuje mniej więcej jedną trzecią rozmiaru. Zdjęcie ważące 6 MB zajmuje w skrzynce około 8 MB. Pomnóż to przez dwadzieścia lat, a masz większą część wyjaśnienia, skąd się bierze archiwum na 40 GB.
Szukanie tekstu wewnątrz PDF-a nic nie znajduje. Dokument jest tam jako base64, a nie jako słowa. body: przeszukuje treść wiadomości i nie zajrzy do zakodowanego pliku. Szukaj tego, co wiadomość napisała — albo użyj has:attachment razem z nadawcą i zakresem dat, bo tak się naprawdę znajduje rzeczy.
Dopóki tam leży, nic się nie uruchamia. Zakodowany tekst jest bezwładny; ryzyko zaczyna się w chwili, gdy załącznik rozkodujesz, zapiszesz i otworzysz — a to zwykłe pytanie o bezpieczeństwo, nie pytanie o MBOX.
Załączniki a obrazki w treści wiadomości
To nie to samo, choć jedno i drugie jest częścią MIME.
Obraz osadzony — logo w newsletterze — korzysta z multipart/related i jest wskazywany z HTML-a jako cid:cos-tam, więc wyświetla się w układzie wiadomości, zamiast pojawić się jako plik do zapisania. Podróżuje wewnątrz wiadomości dokładnie tak jak załącznik i zajmuje tyle samo miejsca.
Obraz zdalny nie jest ani jednym, ani drugim: to zwykły odnośnik https://, pobierany z serwera przy otwarciu wiadomości. W twoim archiwum nie ma po nim śladu — dlatego stare newslettery wyświetlają się z dziurami i dlatego czytnik, który je pobiera, melduje nadawcy, że właśnie otworzyłeś wiadomość z 2015 roku. Mbox Viewer rozwiązuje odwołania cid:, żeby sformatowana poczta wyglądała poprawnie bez internetu, a zdalne obrazki blokuje.
Jak je wyciągnąć
Bo zwykle to jest prawdziwy cel: nie przeczytać wiadomość, tylko odzyskać dołączoną do niej fakturę.
Otwórz wiadomość i zapisz załącznik albo najpierw go podejrzyj — na Macu spacją, przez Quick Look. Przy większej liczbie plików eksport wsadowy zapisuje za jednym przebiegiem wszystkie załączniki z zaznaczenia do jednego folderu; zawęź wcześniej archiwum przez from: i has:attachment, a zaznaczeniem stanie się po prostu wynik wyszukiwania. Załącznik można też przeciągnąć wprost do Findera albo Explorera.
Dwie rzeczy warto wiedzieć, zanim zrobisz to hurtem:
- Nazwy plików się zderzają. Przez dziesięć lat dwunastu nadawców nazwało swój plik
faktura.pdf. Eksportuj do folderu na nadawcę albo na wyszukiwanie, a nie wszystko do jednego. - Kontekstem jest wiadomość. Folder z 400 luźnymi PDF-ami bez dat i bez nadawców jest gorszy niż archiwum, od którego zacząłeś. Jeśli potrzebujesz czegoś, co da się udowodnić, wyeksportuj także same wiadomości jako EML albo PDF, żeby przy każdym pliku była poczta, z którą przyszedł.
Format, w którym załączników nie ma
Jest jeden historyczny wyjątek i łapie ludzi odtwarzających stare kopie zapasowe: Eudora. Trzymała skrzynki jako zwykły mbox z rozszerzeniem .mbx, ale odłączała załączniki — zapisywała każdy do osobnego folderu załączników, a w treści zostawiała wiersz Attachment Converted: i ścieżkę.
Odzyskany .mbx pokazuje więc załączniki jako odwołania do plików, których w nim nie ma. Jeśli te pliki nadal istnieją, leżą obok, w katalogu Eudory. Kopiuj całość, nie same skrzynki — a jeśli ktoś podaje ci wyłącznie pliki .mbx, załączników już nie ma.
Co z tego wszystkiego wynika dobrego
To, że wszystko siedzi w jednym pliku, jest powodem, dla którego archiwum MBOX otwiera się jeszcze dekady później. Nie ma katalogu z załącznikami, który dałoby się zgubić, nie ma bazy danych do migracji, nie ma serwera, który musi wciąż działać. Poczta i pliki, które z nią przyszły, są jednym obiektem, w tekście, czytelnym dla czegokolwiek.
To także powód, dla którego plik jest ogromny. Ten kompromis — nieporęczny, ale samowystarczalny — utrzymał przy życiu mnóstwo poczty, której inaczej już by nie było.
Otwórz swoje archiwum w Mbox Viewer
Natywna aplikacja na Maca i Windows. Strumieniuje pliki MBOX i EML dowolnej wielkości, w pełni offline.