کار با پیوست‌های پیام

تحلیل و ذخیرهٔ پیوست‌ها

فایل‌های پیام Outlook ممکن است یک یا چند پیوست داشته باشند. Aspose.Email به توسعه‌دهندگان امکان می‌دهد تا از طریق حلقه بر روی پیوست‌های یک فایل MSG عبور کرده و آن‌ها را بر روی دیسک ذخیره کنند. این موضوع فرایند را توضیح می‌دهد و همچنین نحوهٔ ضمیمه کردن یک پیوست را شرح می‌دهد.

Aspose.Email MapiMessage کلاس برای بارگذاری یک فایل MSG از دیسک استفاده می‌شود و getAttachments() متدی که به MapiAttachment مجموعهٔ اشیاء مرتبط با فایل MSG. این MapiAttachment شیء متدهای بیشتری را که اعمالی بر پیوست انجام می‌دهند، در دسترس می‌گذارد.

برای ذخیرهٔ پیوست‌ها در یک فایل MSG به دیسک با نام و پسوند اصلی:

  1. یک نمونه از MapiMessage کلاس برای بارگذاری یک فایل MSG با استفاده از Load() متد استاتیک.
  2. متد را فراخوانی کنید MapiRecipient کلاس getAttachments() متد برای دریافت مرجع به مجموعهٔ MapiAttachment اشیاء مرتبط با فایل MSG.
  3. در حلقه بگردید در MapiAttachmentCollection برای نمایش محتوای مربوط به هر MapiAttachment شیء از طریق متدهای عمومی آن.
  4. متد را فراخوانی کنید MapiAttachment کلاس save() متد برای ذخیرهٔ پیوست بر روی دیسک.  

ضمایم شدن پیام‌ها به‌عنوان پیوست‌ها

یک پیام Microsoft Outlook می‌تواند پیام‌های دیگر Microsoft Outlook را به‌عنوان پیوست داشته باشد، چه به‌صورت پیام‌های معمولی که در بالا شرح داده شد و چه به‌صورت پیام‌های تعبیه‌شده. این MapiAttachmentCollection متد add نسخه‌های بیش‌بارگذاری شده‌ای را برای ایجاد پیام‌های Outlook با هر دو نوع پیوست فراهم می‌کند. فایل‌های MSG Outlook که در داخل یک فایل MSG تعبیه شده‌اند، شامل PR_ATTACH_METHOD با مقدار 5 هستند.

خواندن پیام تعبیه‌شده از یک پیوست

درج و جایگزینی پیوست‌های MSG

API Aspose.Email امکان درج پیوست‌ها در ایندکس خاص داخل پیام والد را فراهم می‌کند. همچنین امکان جایگزینی محتوای یک پیوست با پیوست پیام دیگری را فراهم می‌آورد.

درج پیوست MSG در مکان مشخص

API Aspose.Email امکان درج یک پیوست MSG به یک MSG والد را با استفاده از MapiAttachmentCollection.Insert() متد.

جایگزینی محتوای پیوست MSG تعبیه‌شده

این می‌تواند برای جایگزینی محتوای پیوست تعبیه‌شده با موارد جدید با استفاده از جایگزین کردن متد. با این حال، نمی‌تواند برای درج پیوست با PR_ATTACH_NUM = 4 (به‌عنوان مثال) در مجموعه‌ای که collection.Count = 2 است، استفاده شود.

ذخیرهٔ پیوست‌ها از پیام‌های دیجیتالی امضا شده

API Aspose.Email امکان دریافت یا تنظیم مقداری را فراهم می‌کند که نشان می‌دهد آیا پیام با امضای واضح رمزگشایی خواهد شد یا نه. 

تغییر نام یک پیوست در MapiMessage

Aspose.Email امکان ویرایش را فراهم می‌کند نام نمایشی مقدار ویژگی در پیوست‌های MapiMessage.

کد نمونه زیر نشان می‌دهد چگونه نام‌های نمایشی اولین و دومین پیوست در پیام Mapi بارگذاری شده را به‌روز کنید:

MapiMessage msg = MapiMessage.load(fileName);
msg.getAttachments().get_Item(0).setDisplayName("New display name 1");
msg.getAttachments().get_Item(1).setDisplayName("New display name 2");

بررسی اینکه آیا پیوست Inline است یا Regular

تفاوت بین پیوست‌های inline و معمولی در نحوهٔ نمایش آن‌ها در ایمیل است. پیوست‌های inline در بدنهٔ ایمیل تعبیه می‌شوند و می‌توانند بدون باز کردن فایل جداگانه یا دانلود چیزی مشاهده شوند. پیوست‌های معمولی، فایل‌های جداگانه‌ای هستند که به ایمیل پیوست می‌شوند اما مستقیمً در بدنهٔ پیام نمایش داده نمی‌شوند و برای مشاهده باید دانلود و به‌صورت خارجی باز شوند. MapiAttachment.IsInline ویژگی MapiAttachment کلاس مقداری را دریافت می‌کند که نشان می‌دهد پیوست به‌صورت inline است یا معمولی.

کد نمونه زیر یک پیام ایمیل را از فایل بارگذاری کرده و سپس اطلاعات مربوط به پیوست‌ها را به‌دست می‌آورد، به‌طور خاص نام نمایش هر پیوست و اینکه آیا داخل پیام به‌صورت inline است یا خیر را چاپ می‌کند:

MapiMessage message = MapiMessage.load("fileName");

for (MapiAttachment attach : message.getAttachments()) {
    System.out.println(attach.getDisplayName() + ": " + attach.isInline());
}