विशेषताएँ और कार्यक्षमताएँ

विशेषताएँ और कार्यक्षमताएँ

विशेषताएँ और कार्यक्षमताएँ

यह पृष्ठ प्रत्येक प्रमुख सुविधा को कवर करता है 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_issues MSG फ़ॉर्मेट अनुपालन समस्याओं की जाँच करने के लिए
  • यह 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संदेश पर प्राप्तकर्ता
MapiPropertyMAPI प्रॉपर्टी एंट्री
CFBReaderलो-लेवल CFB कंटेनर रीडर
CFBWriterलो-लेवल CFB कंटेनर राइटर
MsgReaderलो-लेवल MSG स्ट्रक्चर रीडर
 हिन्दी