कैसे शुरू करने के लिए Aspose.Email FOSS के साथ Python
aspose-email-foss Python के लिए, यह एक मुफ्त, MIT लाइसेंस प्राप्त पुस्तकालय है जो बनाने, पढ़ने और Outlook MSG फ़ाइलों और CFB कंटेनरों को परिवर्तित करना — कोई Microsoft Office आवश्यक नहीं है, कोई मूल नहीं विस्तार, शुद्ध Python से PyPI।.
कदम-दर-चरण गाइड
चरण 1: पैकेज स्थापित करें
PIP के साथ PPI से स्थापित करें:
pip install aspose-email-fossसही ढंग से लोड किए गए इंस्टॉल की जांच करें:
from aspose.email_foss.msg import MapiMessage
print("aspose-email-foss is ready.")चरण 2: आवश्यक कक्षाओं का आयात
संदेश बनाने, संपत्ति आवंटित करने और प्रारूप रूपांतरण के लिए आवश्यक मॉड्यूल आयात करें:
from datetime import datetime, timezone
from aspose.email_foss import msg
from aspose.email_foss.msg import MapiMessage, PropertyIdचरण 3: एक MSG फ़ाइल बनाएं
उपयोग करें MapiMessage.create() एक विषय और शरीर के साथ संदेश बनाने के लिए. भेजने वाले मेटाडेटा सेट करें साथ में PropertyId लगातार, प्राप्तकर्ताओं को जोड़ें और फ़ाइल जोड़ाएं।.
message = MapiMessage.create("Getting Started", "Hello from aspose-email-foss!")
message.set_property(PropertyId.SENDER_NAME, "Build Agent")
message.set_property(PropertyId.SENDER_EMAIL_ADDRESS, "agent@example.com")
message.set_property(
PropertyId.MESSAGE_DELIVERY_TIME,
datetime(2026, 1, 1, 9, 0, tzinfo=timezone.utc),
)
message.add_recipient("alice@example.com", display_name="Alice Example")
message.add_attachment("notes.txt", b"Meeting notes go here.\n", mime_type="text/plain")
message.save("getting-started.msg")
print("getting-started.msg written.")चरण 4: MSG फ़ाइल को वापस पढ़ें
बचाए गए फ़ाइल का उपयोग करें MapiMessage.from_file() एक संदर्भ प्रबंधक के रूप में. पहुंच subject और body वापस लौटे वस्तु से संपत्ति।.
with MapiMessage.from_file("getting-started.msg") as message:
print(f"Subject: {message.subject}")
print(f"Body : {message.body}")चरण 5: एमएसजी को ईएमएल में परिवर्तित करें
to_email_bytes() संदेश को RFC 5322 प्रारूप में परिवर्तित करता है. परिणाम लिखें A .eml मानक पुस्तकालय के साथ फ़ाइल।.
from pathlib import Path
with MapiMessage.from_file("getting-started.msg") as message:
Path("getting-started.eml").write_bytes(message.to_email_bytes())
print("getting-started.eml written.")सामान्य समस्याएं और सुधार
ModuleNotFoundError: No module named 'aspose' पैकेज सक्रिय Python वातावरण में स्थापित नहीं किया गया है. Run pip install aspose-email-foss एक ही वर्चुअल वातावरण में आप अपने स्क्रिप्ट को चलाने के लिए उपयोग कर रहे हैं. पुष्टि करें pip show aspose-email-foss.
FileNotFoundError जब कॉल करते हैं MapiMessage.from_file() जिस मार्ग से आप पारित करते हैं वह मौजूद नहीं है या आपके ओएस के लिए गलत अलगाव का उपयोग करता है। pathlib.Path पोर्टेबल मार्गों का निर्माण करने के लिए: MapiMessage.from_file(Path("folder") / "file.msg").
MSG फ़ाइल Outlook में खुलता है लेकिन कोई विषय नहीं दिखाता MapiMessage.create() पहला विषय है, तो आप पहले के विषय में हैं। एक खाली पंक्ति, Outlook संदेश को अननाम के रूप में प्रदर्शित करता है. एक गैर-मुक्त पंजीकरण या इसे सेट करें स्पष्ट रूप से के साथ set_property(PropertyId.SUBJECT, "My Subject").
EML रूपांतरण एक खाली शरीर का उत्पादन करता है to_email_bytes() उपयोग करें body_html जब वह वापस लौटता है, तो फिर से body.यह पुष्टि करें कि कम से कम इनमें से एक संपत्ति एमएसजी को लोड करने के बाद अनौपचारिक है from_file().
प्राप्तकर्ताओं या विषय में यूनिकोड सामग्री को ट्रिगर किया जाता है पासपोर्ट unicode_strings=True के लिए MapiMessage.create() यह सुनिश्चित करने के लिए कि स्ट्रिंग गुणों को यह यूनिकोड (PT_UNICODE) के बजाय ANSI ( PT_STRING8) में संग्रहीत है।.
अक्सर पूछे जाने वाले प्रश्न
क्या एस्पोजे-मेल फॉस को Microsoft Office की आवश्यकता है?
यह पढ़ता है और लिखता हैं बाइनरी एमएसजी और सीएफबी प्रारूपों मूल रूप से पायथन में बिना किसी निर्भरता के माइक्रोसॉफ्ट ऑफिस, कॉम स्वचालित, या विंड 32 एपीआई।.
क्या मैं इस लाइब्रेरी का उपयोग लिनक्स या मैकओएस पर कर सकता हूं?
हाँ।. aspose-email-foss यह शुद्ध Python है और किसी भी प्लेटफॉर्म पर चलता है जो Python 3.10 का समर्थन करता है या बाद में – Windows, macOS, Linux, Docker कंटेनर और सर्वर-मुक्त सुविधाओं सहित।.
क्या पुस्तकालय व्यावसायिक उपयोग के लिए मुक्त है?
हाँ. यह MIT लाइसेंस के तहत जारी किया जाता है. आप इसे किसी भी उद्देश्य के लिए उपयोग, संशोधित और पुनर्वितरण कर सकते हैं, जिसमें व्यावसायिक अनुप्रयोग शामिल हैं. बिना रॉयल्टी या लाइन पाठ से परे आवंटन आवश्यकताओं के।.
मैं सीसी और बीसीसी प्राप्तकर्ताओं को कैसे जोड़ सकता हूं?
पासपोर्ट recipient_type=msg.RECIPIENT_TYPE_CC या msg.RECIPIENT_TYPE_BCC तीसरे के रूप में तर्क के लिए add_recipient():
message.add_recipient("bob@example.com", display_name="Bob", recipient_type=msg.RECIPIENT_TYPE_CC)मैं एक एमएसजी को दूसरे के अंदर कैसे डाल सकता हूं?
उपयोग करें MapiMessage.add_embedded_message_attachment(),अंदर से गुजरना MapiMessage पहला तर्क के रूप में:
inner = MapiMessage.create("Inner message", "Embedded body.")
outer = MapiMessage.create("Outer message", "See attachment.")
outer.add_embedded_message_attachment(inner, "inner.msg")
outer.save("outer.msg")