Один проход по целому почтовому ящику
Сохранять вложения по одному письму годится для трёх писем и безнадёжно для трёхсот. Добавьте сразу папку файлов .eml, пару писем Outlook .msg и архив рассылки .mbox: каждое письмо в каждом файле открывается, каждое вложение декодируется, и результат — один список.
Формат каждого файла определяется по его байтам, а не по имени. Письмо .msg, сохранённое как .eml, и архив рассылки, пришедший как .txt, открываются правильно. Файл, который не относится ни к одному из трёх форматов — PST, календарь, ZIP, — отмечается под своим именем, а остальная часть пакета обрабатывается дальше.
Встроенные изображения отличаются как надо
Логотип из подписи сохранять не требовалось. Отличить его от настоящего вложения по заголовку Content-Disposition нельзя: и Outlook, и Gmail помечают как attachment те изображения, которые сами же встраивают в свой HTML. Этот инструмент проверяет другое — есть ли в HTML-теле письма ссылка cid: на Content-ID именно этой части. Если есть, это встроенная графика; если нет, это файл, который отправитель хотел вам оставить.
Одинаковые копии сворачиваются
В любом архиве рассылки одна и та же картинка в подвале встречается в сотнях писем. Для каждого вложения считается отпечаток содержимого, поэтому точные повторы помечаются и скрываются одним переключателем, а число свёрнутых копий сообщается, а не проглатывается молча. Это отпечаток байтов, а не утверждение о тождестве файлов.
ZIP собран так, чтобы его было удобно распаковать
У каждого исходного файла своя папка, а к каждому имени спереди добавлен номер позиции, поэтому два письма с вложением счёт.pdf не затирают друг друга. Разделители пути и символы, которые отвергает Windows, из имён удаляются. Внутри архива лежит manifest.csv со списком всех файлов и указанием письма и темы, откуда каждый взят: после распаковки на этот вопрос иначе не ответить.
Что вы получаете
Ровно те байты, что были в письме, раскодированные из base64 или quoted-printable и записанные без изменений. Ничего не перекодируется, не масштабируется и не переименовывается сверх того, что требует файловая система.
Конфиденциальность
Каждый файл читается в вашем браузере. Ни письмо, ни вложение, ни имя файла никуда не отправляются.
Tiny Online Tools






