विशेषताएँ और कार्यक्षमताएँ
विशेषताएँ और कार्यक्षमताएँ
यह पृष्ठ प्रत्येक प्रमुख सुविधा को कवर करता है aspose-email-foss 26.3 साथ कार्यशील Python उदाहरण।.
MSG फ़ाइलें पढ़ना
एक MSG फ़ाइल लोड करें और उसकी मुख्य गुणों तक पहुँचें:
from aspose.email_foss.msg import MapiMessage
msg = MapiMessage.from_file("message.msg")
print(f"Subject: {msg.subject}")
print(f"Body: {msg.body}")
print(f"HTML Body: {msg.body_html}")
print(f"Message Class: {msg.message_class}")MSG फ़ाइलें बनाना
शुरुआत से एक नया संदेश बनाएं:
from aspose.email_foss.msg import MapiMessage
msg = MapiMessage.create("Meeting Notes", "Please find the notes attached.")
msg.save("new_message.msg")मौजूदा संदेश पर विषय और बॉडी सेट करें:
msg.subject = "Updated Subject"
msg.body = "Updated body text"
msg.save("updated.msg")प्राप्तकर्ता
प्रदर्शित नाम और प्रकार के साथ प्राप्तकर्ताओं को जोड़ें:
from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC
msg = MapiMessage.create("Hello", "Message body")
msg.add_recipient("alice@example.com", display_name="Alice Smith")
msg.add_recipient("bob@example.com", display_name="Bob Jones", recipient_type=RECIPIENT_TYPE_CC)
msg.save("with_recipients.msg")संलग्नक
बाइनरी फ़ाइल संलग्नक जोड़ें:
with open("report.pdf", "rb") as f:
data = f.read()
msg.add_attachment("report.pdf", data, mime_type="application/pdf")
msg.save("with_attachment.msg")एक MSG संदेश को नेस्टेड संलग्नक के रूप में एम्बेड करें:
inner = MapiMessage.create("Inner Subject", "Inner body")
msg.add_embedded_message_attachment(inner, filename="embedded.msg", mime_type="application/vnd.ms-outlook")
msg.save("with_embedded.msg")MAPI गुण
प्रॉपर्टी ID द्वारा MAPI गुण पढ़ें और लिखें:
from aspose.email_foss.msg import PropertyId
# Read a property
subject = msg.get_property(PropertyId.SUBJECT)
# Set a property
msg.set_property(PropertyId.SUBJECT, "New Subject")सभी गुणों पर इटररेट करें:
for prop in msg.iter_properties():
print(f"Tag: {prop.property_tag:#010x}")ईमेल रूपांतरण
MSG (MAPI) और ईमेल (RFC 5322) फ़ॉर्मैट के बीच रूपांतरण करें:
# MSG to email string
email_str = msg.to_email_string()
print(email_str[:500])
# MSG to EmailMessage object
email_msg = msg.to_email_message()
# EmailMessage back to MapiMessage
msg2 = MapiMessage.from_email_message(email_msg)
msg2.save("roundtrip.msg")निम्न-स्तर CFB संचालन
CFB कंटेनर संरचना को सीधे पढ़ें:
from aspose.email_foss.cfb import CFBReader
reader = CFBReader.from_file("message.msg")
print(f"File size: {reader.file_size} bytes")
print(f"Sectors: {reader.fat_sector_count}")
print(f"Entries: {reader.directory_entry_count}")
for entry in reader.iter_storages():
print(f"Storage: {entry}")
for entry in reader.iter_streams():
print(f"Stream: {entry}")
reader.close()CFB दस्तावेज़ लिखें:
from aspose.email_foss.msg import MsgWriter
data = msg.to_bytes()
with open("output.msg", "wb") as f:
f.write(data)टिप्स और सर्वोत्तम प्रथाएँ
- हमेशा कॉल करें
msg.close()या पढ़ना समाप्त होने पर फ़ाइल हैंडल रिलीज़ करने के लिए एक context manager का उपयोग करें - उपयोग करें
msg.validation_issuesMSG फ़ॉर्मेट अनुपालन समस्याओं की जाँच करने के लिए - यह
strictपैरामीटर … मेंMapiMessage.from_file()त्रुटि सहनशीलता को नियंत्रित करता है — इसे सेट करेंFalseसहज पार्सिंग के लिए - सभी अटैचमेंट डेटा को मेमोरी में लोड किया जाता है … के दौरान
from_file()— उपयोग करेंatt.dataबाइट्स को सीधे एक्सेस करने के लिए;iter_attachments_info()पहले से भरे हुए अटैचमेंट्स सूची पर एक सुविधाजनक इटरेटर है - उपयोग करें
to_email_string()पूर्ण ईमेल ऑब्जेक्ट निर्माण के बिना तेज़ टेक्स्ट प्रीव्यू के लिए
सामान्य समस्याएँ
| समस्या | कारण | समाधान |
|---|---|---|
CFBError लोड करते समय | मान्य CFB/MSG फ़ाइल नहीं है | जाँचें कि फ़ाइल वास्तविक Outlook MSG है |
| लोड के बाद बॉडी खाली है | बॉडी केवल HTML में संग्रहीत है | जाँचें msg.body_html के बजाय msg.body |
| प्राप्तकर्ता नहीं मिले | MSG में कोई प्राप्तकर्ता संग्रह नहीं है | MSG फ़ॉर्मेट में प्राप्तकर्ता वैकल्पिक हैं; जाँचें iter_attachments_info() |
FAQ
कौन से MSG फ़ॉर्मैट संस्करण समर्थित हैं?
यह लाइब्रेरी CFB v3 और v4 फ़ॉर्मैट में MSG फ़ाइलों को पढ़ती और लिखती है, जो Microsoft Outlook के साथ संगत है।.
क्या मैं EML फ़ाइलें पढ़ सकता हूँ?
सीधे नहीं। लाइब्रेरी MSG फ़ॉर्मेट को संभालती है। उपयोग करें MapiMessage.from_email_message() RFC 5322 से परिवर्तित करने के लिए EmailMessage ऑब्जेक्ट्स।.
क्या थ्रेड-सुरक्षा समर्थित है?
प्रत्येक MapiMessage और CFBReader इंस्टेंस स्वतंत्र है। अलग-अलग थ्रेड्स से अलग-अलग इंस्टेंस तक समवर्ती पहुँच सुरक्षित है।.
API रेफ़रेंस सारांश
| क्लास / मेथड | विवरण |
|---|---|
MapiMessage | उच्च-स्तरीय MSG संदेश प्रतिनिधित्व |
MapiMessage.from_file() | एक MSG फ़ाइल लोड करें |
MapiMessage.create() | एक नया MSG संदेश बनाएं |
MapiMessage.save() | MSG फ़ाइल में सहेजें |
MapiMessage.to_email_message() | EmailMessage (RFC 5322) में बदलें |
MapiMessage.from_email_message() | EmailMessage से MSG में बदलें |
MapiMessage.add_recipient() | एक प्राप्तकर्ता जोड़ें |
MapiMessage.add_attachment() | एक बाइनरी अटैचमेंट जोड़ें |
MapiAttachment | संदेश पर अटैचमेंट |
MapiRecipient | संदेश पर प्राप्तकर्ता |
MapiProperty | MAPI प्रॉपर्टी एंट्री |
CFBReader | लो-लेवल CFB कंटेनर रीडर |
CFBWriter | लो-लेवल CFB कंटेनर राइटर |
MsgReader | लो-लेवल MSG स्ट्रक्चर रीडर |