كيفية تزيين ملفات MSG في Python
يقدم موقع البريد الإلكتروني لـ Python API النقي لقرأ ملفات Outlook MSG دون إدمانات Microsoft Office. MapiMessage - عدم الوصول إلى جميع بيانات الرسالة.
خطوة بخطوة دليل
الخطوة 1: قم بتثبيت الحزمة
pip install aspose-email-fossيتطلب Python 3.10 أو أحدث.
الخطوة 2: استيراد فئة MapiMessage
from aspose.email_foss.msg import MapiMessageالخطوة 3: تحميل ملف MSG
msg = MapiMessage.from_file("message.msg")لخيانة ملفات مكسورة، اجتياز strict=False:
msg = MapiMessage.from_file("message.msg", strict=False)الخطوة 4: ملفات رسالة الوصول
print(f"Subject: {msg.subject}")
print(f"Body: {msg.body}")
print(f"HTML Body: {msg.body_html[:200] if msg.body_html else 'None'}")
print(f"Message Class: {msg.message_class}")الخطوة الخامسة: قائمة المرفقات
for att in msg.iter_attachments_info():
name = att.storage_name
is_embedded = att.is_embedded_message
print(f"Attachment: {name}, embedded={is_embedded}")الخطوة 6: فحص الهيكل منخفض المستوى CFB
from aspose.email_foss.cfb import CFBReader
reader = CFBReader.from_file("message.msg")
print(f"Directory entries: {reader.directory_entry_count}")
for entry in reader.iter_streams():
print(f" Stream: {entry}")
reader.close()مشكلات و تصحيحات مشتركة
CFBError عند تحميل
الملف ليس حاوية CFB صالحة.تحقق من أنه ملف Outlook MSG الحقيقي وليس EML.
الجسم فارغ ولكن جسم HTML يحتوي على محتوى
بعض الرسائل تخزن المحتوى فقط في HTML. msg.body_html عندما msg.body العودة None.
تحذير التحقق
الوصول msg.validation_issues انظر إلى مجموعة من التحذيرات الامتثال للملف المشتري.
الأسئلة المتكررة (FAQ)
هل يمكنني قراءة ملفات EML؟?
لا مباشرة.المكتبة تتعامل مع تنسيق MSG (CFB) .تحويل محتوى EML إلى EmailMessage أولاً، ثم استخدم MapiMessage.from_email_message().
هل يقرأ تحميل جميع بيانات المرفقات في الذاكرة؟?
نعم جميع بيانات المرفقات بما في ذلك المحتوى الثنائي يتم تحميلها إلى الذاكرة عندما MapiMessage.from_file() كاملة . iter_attachments_info() هو إيتراتور الراحة فوق قائمة المرفقات التي تم تحميلها بالفعل.
هل هو آمن؟?
كل واحد منهم MapiMessage الحالة مستقلة.المنافسين القراء من حالات منفصلة آمنة.