Laddning, visning och parsning av MSG-fil
Detta ämne förklarar hur man laddar en Microsoft Outlook‑meddelandefil (*.msg). MapiMessage klassen används för att ladda MSG‑filer och tillhandahåller flera statiska laddningsfunktioner för olika scenarier. Följande kodsnutt visar hur du laddar MSG‑filer från en fil eller från en ström.
Laddning av MSG‑filer
Följande kodsnutt visar hur du laddar MSG‑filer.
// 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());
}
Följande kodexempel visar hur man använder MailMessage för att ladda ett meddelande i MSG‑format.
MailMessage eml = MailMessage.load("message.msg");
Det bör noteras att ett resulterande meddelande konverteras till EML‑format, inklusive inbäddade meddelande‑bilagor. Använd inte denna laddningsmetod om du vill bevara vissa specifika MSG‑formategenskaper i det ursprungliga meddelandet.
För att bevara det ursprungliga formatet på inbäddade meddelande‑bilagor, använd MsgLoadOptions.PreserveEmbeddedMessageFormat egenskap.
MsgLoadOptions msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.setPreserveEmbeddedMessageFormat(true);
MailMessage msg = MailMessage.load(stream, msgLoadOptions);
Laddning från ström
Följande kodsnutt visar hur du laddar en fil från en ström.
// 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());
}
Konvertera EML till MSG och bevara inbäddat EML‑format
EML‑filer kan laddas in i MapiMessage klass genom att instansiera en MailMessage objekt och skickar det till MapiMessage.fromMailMessage metod. Om EML‑filen innehåller inbäddade EML‑filer, använd MapiConversionOptions.setPreserveEmbeddedMessageFormat för att behålla formatet på inbäddade EML‑filer. Nedanstående kodsnutt visar hur man laddar EML‑filer i MapiMessage med bevarande av formatet för inbäddade EML‑filer.
Try it out!
Konvertera e‑post och meddelandearkiv online med den kostnadsfria Aspose.Email konverteringsapp.
// 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);