
فرمت فایل ایمیل MSG است که توسط MS Outlook استفاده میشود. این یک مورد Outlook است که امکان ذخیرهسازی ایمیلها، مخاطبین، پیامها، وظایف، قرارها و غیره را فراهم میکند. در موارد خاص، ممکن است نیاز باشد که فایلهای MSG Outlook را در برنامههای Java بخوانیم و ویژگیهایی مانند موضوع، دریافتکنندگان، فرستنده، متن و غیره را استخراج کنیم. در این مقاله، یاد خواهیم گرفت که چگونه یک فایل MSG Outlook را با استفاده از Java بخوانیم.
موضوعات زیر در این مقاله بررسی خواهند شد:
- Java API برای خواندن فایل MSG Outlook
- فایل MSG اوتلوک را تجزیه و بخوانید
- گیرنده پیوستها از فایل MSG
- پیام جاسازی شده را از پیوست بخوانید
Java API برای خواندن فایل MSG اوتلوک
برای خواندن فایل MSG اوتلوک، ما از API Aspose.Email for Java استفاده خواهیم کرد. این API اجازه میدهد که بهطور یکپارچه ایمیلها را ایجاد، ارسال، خواندن و مدیریت کنیم. همچنین از تجزیه فایلهای MSG اوتلوک پشتیبانی میکند و محتوای آنها را در اشیای Java فراهم میسازد. لطفاً JAR این API را یا دانلود کنید، یا فقط پیکربندی pom.xml زیر را در یک برنامه جاوای مبتنی بر Maven اضافه کنید.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.2</version>
<classifier>jdk16</classifier>
</dependency>
فایل MSG اوتلوک را با استفاده از Java تجزیه و بخوانید
ما میتوانیم یک فایل MSG اوتلوک را با دنبال کردن مراحل زیر تجزیه و خواندن کنیم:
- یک فایل MSG را با استفاده از روش MapiMessage.load() بارگذاری کنید.
- خواصی همچون SenderName، Subject، Body، Recipients را از MSG بارگذاری شده بخوانید.
نمونه کد زیر نشان میدهد که چگونه میتوان یک فایل MSG اوتلوک را با استفاده از Java خواند.
// این مثال کد نشان میدهد که چگونه میتوان فایل MSG را خواند.
// یک فایل MSG را از دیسک بارگذاری کنید
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\message.msg");
// نمایش نام فرستنده
System.out.println("Sender Name : " + outlookMessageFile.getSenderName());
// موضوع را نمایش دهید
System.out.println("Subject : " + outlookMessageFile.getSubject());
// Display Body
System.out.println("Body : " + outlookMessageFile.getBody());
// Display Recipient's info
System.out.println("Recipients : \n");
// از طریق مجموعه دریافتکنندگان مرتبط با شیء MapiMessage حلقه بزنید
for (int i = 0; i < outlookMessageFile.getRecipients().size(); i++) {
// یک مرجع به شی MapiRecipient تنظیم کنید
MapiRecipient rcp = (MapiRecipient) outlookMessageFile.getRecipients().get_Item(i);
// آدرس ایمیل گیرنده را نمایش دهید
System.out.println("Email : " + rcp.getEmailAddress());
// نام دریافتکننده را نمایش دهید
System.out.println("Name : " + rcp.getDisplayName());
// نوع گیرنده را نمایش دهید
System.out.println("Recipient Type : " + rcp.getRecipientType());
}

فایل MSG Outlook را با استفاده از Java تجزیه و بخوانید.
از فایل MSG پیوستها را با استفاده از Java دریافت کنید
ما میتوانیم پیو attachments ها را از یک فایل MSG اوتلوک با دنبال کردن مراحل زیر ذخیره کنیم:
- یک فایل MSG را با استفاده از روش MapiMessage.load() بارگذاری کنید.
- از طریق مجموعه attachments collection مربوط به شیء MapiMessage پیمایش کنید.
- هر پیوست را با استفاده از روش save() در دیسک ذخیره کنید.
کد نمونه زیر نشان میدهد که چگونه پیوستها را از یک فایل MSG اوتلوک با استفاده از Java ذخیره کنید.
// این مثال کد نحوه ذخیره پیوستها از فایل MSG را نشان میدهد.
// بارگذاری یک فایل MSG از دیسک
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\WithEmbeddedMsg.msg");
// Loop through the attachments collection associated with the MapiMessage object
for (int i = 0; i < outlookMessageFile.getAttachments().size(); i++) {
// یک مرجع به شیء MapiAttachment تنظیم کنید
MapiAttachment outlookMessageAttachment = (MapiAttachment) outlookMessageFile.getAttachments().get_Item(i);
// نوع پیوست را نمایش دهید
System.out.println("Att Type : " + outlookMessageAttachment.getMimeTag());
// Display attached file name
System.out.println("File Name : " + outlookMessageAttachment.getLongFileName());
// ضمیمه را در دیسک ذخیره کنید
outlookMessageAttachment.save("D:\\Files\\Email\\" + outlookMessageAttachment.getDisplayName());
}

Get Attachments from MSG File using Java.
پیام جاسازی شده را از پیوست بخوانید
ما میتوانیم پیامهای ایمیل موجود در پیوست MSG اوتلوک را نیز با دنبال کردن مراحل زیر بخوانیم:
- یک فایل MSG را با استفاده از روش MapiMessage.load() بارگذاری کنید.
- پیام پیوست شده را به عنوان یک شیء MapiMessage دریافت کنید.
- Show message properties.
کد نمونه زیر نشان میدهد که چگونه یک پیام درونساخته را به عنوان یک پیوست با استفاده از Java بخوانید.
// این مثال کد نحوه خواندن یک پیام جاسازی شده متصل در MSG را نشان میدهد.
// Load an MSG file
MapiMessage mapi = MapiMessage.load(dataDir + "EmbededMessageAsAttachment.msg");
// کل پیوستها را نمایش دهید
System.out.println("Total attachments : " + mapi.getAttachments().size());
// ضمیمه را به عنوان MapiMessage بخوانید
MapiMessage emb = mapi.getAttachments().get_Item(0).getObjectData().toMapiMessage();
// نمایش نام فرستنده
System.out.println("Sender Name : " + emb.getSenderName());
// موضوع را نمایش دهید
System.out.println("Subject : " + emb.getSubject());
// نمایش بدن
System.out.println("Body : " + emb.getBody());
// Display Recipient's info
System.out.println("Recipients :");
// از طریق مجموعه دریافت کنندگان مرتبط با شیء MapiMessage حلقه بزنید.
for (int i = 0; i < emb.getRecipients().size(); i++) {
// یک مرجع به شیء MapiRecipient تنظیم کنید
MapiRecipient rcp = (MapiRecipient) emb.getRecipients().get_Item(i);
// نمایش آدرس ایمیل دریافتکننده
System.out.println("\t Email : " + rcp.getEmailAddress());
// نام گیرنده را نمایش دهید
System.out.println("\t Name : " + rcp.getDisplayName());
// نوع گیرنده را نمایش دهید
System.out.println("\t Recipient Type : " + rcp.getRecipientType());
}
مجوز رایگان بگیرید
لطفاً با درخواست یک مجوز موقت رایگان، API را بدون محدودیتهای ارزیابی امتحان کنید.
نتیجه گیری
در این مقاله، یاد گرفتیم که چگونه به طور برنامهنویسی محتوای فایل MSG اوت لوک را با استفاده از Java بخوانیم. علاوه بر این، نحوه خواندن و استخراج پیوستها از یک فایل MSG را مشاهده کردیم. به علاوه، میتوانید با استفاده از documentation اطلاعات بیشتری در مورد Aspose.Email برای API Java کسب کنید. در صورت وجود هر گونه ابهام، لطفاً در ارتباط با ما در forum آزاد باشید.