Загрузка, просмотр и разбор файла MSG
В этой теме объясняется, как загрузить файл сообщения Microsoft Outlook (*.msg). The MapiMessage класс используется для загрузки файлов MSG и предоставляет несколько статических функций загрузки для различных сценариев. Следующий фрагмент кода показывает, как загрузить файлы MSG из файла или из потока.
Загрузка файлов MSG
Следующий фрагмент кода показывает, как загрузить файлы MSG.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = RunExamples.getDataDir_Outlook();
// Create an instance of MapiMessage from file
MapiMessage msg = MapiMessage.fromFile(dataDir + "message.msg");
// Get subject
System.out.println("Subject:" + msg.getSubject());
// Get from address
System.out.println("From:" + msg.getSenderEmailAddress());
// Get body
System.out.println("Body" + msg.getBody());
// Get recipients information
System.out.println("Recipient: " + msg.getRecipients());
// Get attachments
for (MapiAttachment att : msg.getAttachments())
{
System.out.println("Attachment Name: " + att.getFileName());
System.out.println("Attachment Display Name: " + att.getDisplayName());
}
Следующий пример кода показывает, как использовать MailMessage для загрузки сообщения в формате MSG.
MailMessage eml = MailMessage.load("message.msg");
Следует отметить, что полученное сообщение конвертируется в формат EML, включая вложения сообщений. Не используйте этот метод загрузки, если вы хотите сохранить некоторые специфические свойства формата msg оригинального сообщения.
Чтобы сохранить оригинальный формат вложений сообщений, используйте MsgLoadOptions.PreserveEmbeddedMessageFormat свойство.
MsgLoadOptions msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.setPreserveEmbeddedMessageFormat(true);
MailMessage msg = MailMessage.load(stream, msgLoadOptions);
Загрузка из потока
Следующий фрагмент кода показывает, как загрузить файл из потока.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create an instance of MapiMessage from file
try (FileInputStream stream = new FileInputStream(dataDir + "message.msg"))
{
// Create an instance of MapiMessage from file
MapiMessage msg = MapiMessage.fromStream(stream);
// Get subject
System.out.println("Subject:" + msg.getSubject());
// Get from address
System.out.println("From:" + msg.getSenderEmailAddress());
// Get body
System.out.println("Body" + msg.getBody());
}
Конвертирование EML в MSG с сохранением формата вложенного EML
Файлы EML можно загрузить в MapiMessage класс, создав MailMessage объект и передавая его в MapiMessage.fromMailMessage метод. Если файл EML содержит вложенные файлы EML, используйте MapiConversionOptions.setPreserveEmbeddedMessageFormat для сохранения формата вложенных файлов EML. Приведённый ниже фрагмент кода показывает, как загрузить файлы EML в MapiMessage с сохранением формата вложенных файлов EML.
Попробуйте!
Конвертировать электронные письма и архивы сообщений онлайн бесплатно Приложение конвертации Aspose.Email.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
String dataDir = RunExamples.getDataDir_Email();
MailMessage eml = MailMessage.load(dataDir + "sample.eml", new EmlLoadOptions());
MapiConversionOptions options = MapiConversionOptions.getUnicodeFormat();
//Preserve Embedded Message Format
options.setPreserveEmbeddedMessageFormat(true);
//Convert EML to MSG with Options
MapiMessage msg = MapiMessage.fromMailMessage(eml, options);