Ładowanie, przeglądanie i parsowanie pliku MSG
Ten temat wyjaśnia, jak wczytać plik wiadomości Microsoft Outlook (*.msg). MapiMessage klasa służy do wczytywania plików MSG i udostępnia kilka statycznych funkcji ładowania dla różnych scenariuszy. Poniższy fragment kodu pokazuje, jak wczytać pliki MSG z pliku lub ze strumienia.
Ładowanie plików MSG
Poniższy fragment kodu pokazuje, jak wczytać pliki 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());
}
Poniższy przykład kodu pokazuje, jak użyć MailMessage do wczytania wiadomości w formacie MSG.
MailMessage eml = MailMessage.load("message.msg");
Należy zauważyć, że wynikowa wiadomość jest konwertowana do formatu EML, włącznie z załączonymi wiadomościami. Nie używaj tej metody ładowania, jeśli chcesz zachować niektóre specyficzne właściwości formatu MSG oryginalnej wiadomości.
Aby zachować pierwotny format załączonych wiadomości, użyj MsgLoadOptions.PreserveEmbeddedMessageFormat właściwość.
MsgLoadOptions msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.setPreserveEmbeddedMessageFormat(true);
MailMessage msg = MailMessage.load(stream, msgLoadOptions);
Ładowanie ze strumienia
Poniższy fragment kodu pokazuje, jak wczytać plik ze strumienia.
// 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());
}
Konwertowanie EML do MSG zachowując format osadzonych plików EML
Pliki EML mogą być wczytane do MapiMessage klasę, tworząc MailMessage obiekt i przekazując go do MapiMessage.fromMailMessage metoda. Jeśli plik EML zawiera osadzone pliki EML, użyj MapiConversionOptions.setPreserveEmbeddedMessageFormat aby zachować format osadzonych plików EML. Poniższy fragment kodu pokazuje, jak wczytać pliki EML do MapiMessage z zachowaniem formatu osadzonych plików EML.
Wypróbuj!
Konwertuj e‑maile i archiwa wiadomości online za darmo Aplikacja konwersji 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);