العمل مع مرفقات الرسالة
تحليل وحفظ المرفقات
قد تحتوي ملفات رسائل Outlook على مرفق أو أكثر. يتيح Aspose.Email للمطورين المرور عبر المرفقات في ملف MSG وحفظها إلى القرص. يصف هذا الموضوع العملية. كما يصف كيفية تضمين مرفق.
Aspose.Email MapiMessage الفئة تُستخدم لتحميل ملف MSG من القرص وتكشف الـ getAttachments() طريقة التي تشير إلى MapiAttachment مجموعة كائنات مرتبطة بملف MSG. الـ MapiAttachment الكائن يكشف مزيدًا من الطرق التي تنفذ إجراءات على المرفق.
لحفظ المرفقات في ملف MSG إلى القرص بالاسم والامتداد الأصلي:
- إنشاء مثيل من الـ MapiMessage صف لتحميل ملف MSG باستخدام الـ Load() طريقة ثابتة.
- استدعِ الـ MapiRecipient فئة getAttachments() طريقة للحصول على مرجع لمجموعة MapiAttachment الكائنات المرتبطة بملف MSG.
- التكرار عبر الـ MapiAttachmentCollection لعرض المحتويات المتعلقة بكل MapiAttachment كائن من خلال طرقه العامة.
- استدعِ الـ MapiAttachment فئة save() طريقة لحفظ المرفق إلى القرص.
تضمين الرسائل كمرفقات
يمكن لرسالة Microsoft Outlook أن تحتوي رسائل Outlook أخرى كمرفقات إما كرسائل عادية، كما هو موضح أعلاه، أو كرسائل مدمجة. الـ MapiAttachmentCollection توفر طرقًا مُحمَّلة من طريقة الإضافة لإنشاء رسائل Outlook مع كلا النوعين من المرفقات. ملفات MSG في Outlook المضمنة في ملف MSG تحتوي على PR_ATTACH_METHOD بقيمة 5.
قراءة رسالة مدمجة من مرفق
إدراج واستبدال مرفقات MSG
توفر Aspose.Email API القدرة على إدراج المرفقات في فهرس محدد في الرسالة الأصلية. كما توفر إمكانية استبدال محتويات مرفق برسالة مرفق أخرى.
إدراج مرفق MSG في موقع محدد
توفر Aspose.Email API القدرة على إدراج مرفق MSG إلى MSG أصل باستخدام الـ MapiAttachmentCollection.Insert() طريقة.
استبدال محتويات مرفق MSG المدمج
يمكن استخدام هذا لاستبدال محتويات المرفق المدمج بالجديد باستخدام الـ استبدال طريقة. ومع ذلك، لا يمكن استخدامها لإدراج مرفق مع PR_ATTACH_NUM = 4 (على سبيل المثال) في مجموعة عدد عناصرها collection.Count = 2.
حفظ المرفقات من رسالة موقعة رقمياً
توفر Aspose.Email API القدرة على الحصول على أو ضبط قيمة تشير ما إذا كانت الرسالة الموقعة بوضوح سيتم فك تشفيرها.
إعادة تسمية مرفق في 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");
تحقق ما إذا كان المرفق مضمّنًا أو عاديًا
الفرق بين المرفقات المضمَّنة والعادية هو طريقة عرضها داخل البريد الإلكتروني. المرفقات المضمَّنة تكون مدمجة داخل جسم البريد ويمكن رؤيتها دون الحاجة لفتح ملف منفصل أو تنزيل أي شيء. أما المرفقات العادية فهي ملفات منفصلة مرفقة بالبريد ولكن لا تُعرض مباشرة داخل جسم الرسالة وتحتاج إلى تنزيلها وفتحها خارجيًا. الـ MapiAttachment.IsInline خاصية الـ MapiAttachment الفئة تحصل على قيمة تشير ما إذا كان المرفق مضمّنًا أو عاديًا.
يعرض مثال الكود التالي تحميل رسالة بريد إلكتروني من ملف ثم استرداد معلومات حول المرفقات، مع طباعة اسم العرض لكل مرفق وما إذا كان مضمّنًا داخل الرسالة أم لا:
MapiMessage message = MapiMessage.load("fileName");
for (MapiAttachment attach : message.getAttachments()) {
System.out.println(attach.getDisplayName() + ": " + attach.isInline());
}