Laden, bekijken en parseren van MSG-bestand
Dit onderwerp legt uit hoe een Microsoft Outlook-berichtbestand (*.msg) te laden. De MapiMessage klasse wordt gebruikt om MSG-bestanden te laden en biedt verschillende statische laadfuncties voor verschillende scenario’s. De volgende codefragment toont hoe MSG-bestanden vanuit een bestand of vanuit een stream te laden.
MSG-bestanden laden
De volgende codefragment laat zien hoe MSG-bestanden te laden.
// 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());
}
Het volgende codevoorbeeld toont hoe MailMessage te gebruiken om een bericht in MSG-formaat te laden.
MailMessage eml = MailMessage.load("message.msg");
Het moet worden opgemerkt dat een resulterend bericht wordt geconverteerd naar EML-formaat, inclusief ingebedde berichtbijlagen. Gebruik deze laadmethode niet als je specifieke MSG-formateigenschappen van het oorspronkelijke bericht wilt behouden.
Om het oorspronkelijke formaat van ingebedde berichtbijlagen te behouden, gebruik de MsgLoadOptions.PreserveEmbeddedMessageFormat eigenschap.
MsgLoadOptions msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.setPreserveEmbeddedMessageFormat(true);
MailMessage msg = MailMessage.load(stream, msgLoadOptions);
Laden vanuit stream
De volgende codefragment laat zien hoe een bestand vanuit een stream te laden.
// 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 naar MSG converteren met behoud van ingebed EML-formaat
EML-bestanden kunnen worden geladen in MapiMessage klasse door een MailMessage object en dit doorgeven aan MapiMessage.fromMailMessage methode. Als het EML-bestand ingebedde EML-bestanden bevat, gebruik dan MapiConversionOptions.setPreserveEmbeddedMessageFormat om het formaat van ingebedde EML-bestanden te behouden. De onderstaande codefragment toont hoe EML-bestanden te laden in MapiMessage terwijl het formaat van ingebedde EML-bestanden behouden blijft.
Probeer het uit!
E‑mails en berichtarchieven online converteren met de gratis Aspose.Email Conversie‑app.
// 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);