Декодировать EML-файлы
Иногда файл электронной почты не обрабатывается должным образом вашим почтовым клиентом, и вы получаете письмо с прикрепленным файлом .EML. Этот файл представляет собой полный текст отправленного электронного письма, но если были вложения, они будут закодированы и появятся в файле как случайный текст.
Некоторые почтовые клиенты позволяют импортировать эти файлы, а затем автоматически обрабатывать их, показывая вам как сообщение, так и позволяя использовать программу для обработки вложений. Некоторые не могут. Это те, к которым относится этот FAQ.
Для работы с этими файлами нужно сделать две вещи:
- Сохраните файл EML в место, которое вы можете найти, и присвойте файлу расширение .TXT, чтобы он открывался в текстовом редакторе. Это нормально, если файл имеет двойное расширение (например, имя файла.eml.txt), если вы можете открыть файл в текстовом редакторе.
- Получите программу декодирования base64. Существует множество веб-декодеров, в которых вы можете вырезать/вставить закодированный текст в диалоговое окно браузера, а затем сайт отправит вам декодированный двоичный файл. Хотя это удобно и быстро, имейте в виду, что когда вы делаете это, сайт, выполняющий преобразование, может сделать копию файла и делать с ним все, что им заблагорассудится. По этой причине я предпочитаю использовать автономный декодер. Обычно я использую b64dec. Загружаемый файл представляет собой ZIP-файл, который распаковывается в отдельный EXE-файл, который можно запустить из любой папки, в которую вы его сохранили. Установка не требуется.
Откройте файл EML в текстовом редакторе. Первой частью файла должны быть заголовки почты, за которыми следует текстовая версия тела сообщения электронной почты, а затем, возможно, второй раздел, показывающий то же самое сообщение электронной почты, но с тегами HTML для отображения в формате RTF. Текст сообщения должен легко читаться в текстовом редакторе. Это вложения, которые вам нужно расшифровать, чтобы увидеть.
Прокрутите файл EML вниз, и вы должны увидеть несколько граничных маркеров. Они будут выглядеть примерно так...
------=_Part_1269_26205643.1212678362048
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
...граница между текстовой ASCII-версией электронного письма и HTML-версией. Если вложение представляет собой изображение, граница может выглядеть примерно так...
------=_Part_1268_32139554.1212678362047
Content-Type: image/jpeg; name=080605ML1.jpg
Content-Transfer-Encoding: base64
X-Attachment-Id: f_fh3fqzsq0
Content-Disposition: attachment; filename=080605ML1.jpg
Обратите внимание, что этот граничный заголовок говорит, что следующий материал представляет собой изображение в формате JPEG с именем 080605ML1.jpg и что этот материал закодирован в base64; стандартная кодировка, используемая для вложений электронной почты.
Что вам нужно сделать, так это скопировать весь случайно выглядящий текст после границы до следующей границы в диалоговое окно, отображаемое при запуске программы b64dec. После того, как вы сделаете это и дадите имя восстановленному файлу, просто нажмите кнопку «Декодировать», и файл с указанным вами именем должен появиться в папке программы (или в любой другой папке, которую вы указали при присвоении имени файлу).
Сделав это, вернитесь и извлеките оставшиеся вложения из исходного файла EML; по одному приложению за раз.