تحميل وعرض وتحليل ملف MSG
يوضح هذا الموضوع كيفية تحميل ملف رسالة Microsoft Outlook (*.msg). الـ 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);