Можно создать javax.mail.Message
объект (или создайте его уже из почтового сервера), и затем можно использовать writeTo()
метод для сохранения его в файл. См. JavaMail API для получения дополнительной информации.
Файлы EML являются просто текстовыми файлами. Заголовки разделяются от тела пустой строкой. Заголовки похожи на это:
From: "DR CLEMENT OKON" <drclement@nigerianspam.com>
To: "You" <you@yourdomain.com>
Subject: REQUEST FOR URGENT BUSINESS RELATIONSHIP
Date: Tue, 30 Sep 2008 09:42:47 -0400
Для большего количества информации, официальная спецификация RFC 2822 . Это на самом деле не настолько трудно для чтения как некоторый RFCs.
Редактирование: Когда я сказал "простой текст", я должен был думать в течение секунды. Я действительно имел в виду простой ASCII - а не 8-разрядный "расширенный ASCII" любой - только до символа 127. Если Вы хотите больше чем семь битов, Вам нужно некоторое кодирование, и вещи являются сложными.
Рассмотрение типичного файла EML, это похоже на необработанный дамп текстовой коммуникации, которая перешла к серверу. Таким образом, это - текстовый файл, содержащий почтовые заголовки и тело. Для получения вложений, различных взглядов, и т.д. в правильном формате в файле EML, Вам нужно к MIME - кодируют тело и его части.