OLM को PST में बदलें
OLM को PST में बदलें
OLM (Outlook for Mac) वह फ़ाइल फ़ॉर्मेट है जिसका उपयोग Microsoft Outlook for Mac ईमेल संदेश, संपर्क, कैलेंडर, कार्य और अन्य डेटा संग्रहीत करने के लिए करता है। यह Outlook for Mac का मूल फ़ाइल फ़ॉर्मेट है, इसलिए Outlook for Mac (OLM) फ़ाइल को Outlook for Windows में खोलना संभव नहीं है। Windows में OLM फ़ाइलों के साथ कार्य करने के लिए, Aspose Email विशेष रूप से OLM फ़ाइलों को संभालने के लिए उपकरण प्रदान करता है। इसका दृष्टिकोण OLM फ़ाइलों को PST (Outlook Data File) फ़ॉर्मेट में बदलना है, जो Windows वातावरण में व्यापक रूप से समर्थित है। एक बार PST फ़ॉर्मेट में परिवर्तित हो जाने के बाद, आप डेटा को Outlook for Windows या किसी भी अन्य संगत ईमेल क्लाइंट में आयात कर सकते हैं।
मुख्य दृष्टिकोण
निम्नलिखित कोड उदाहरण Aspose.Email लाइब्रेरी का उपयोग करके Outlook OLM फ़ाइल को PST फ़ाइल में बदलने का तरीका प्रदर्शित करता है। यह OLM फ़ाइल से प्रत्येक फ़ोल्डर और संबंधित संदेशों को पढ़ता है और उन्हें उसी क्रम में नई PST फ़ाइल में जोड़ता है।
- का एक इंस्टेंस बनाएं OlmStorage स्रोत OLM फ़ाइल खोलने के लिए क्लास।
- उपयोग करें PersonalStorage.create निर्दिष्ट फ़ाइलनाम और फ़ॉर्मेट संस्करण के साथ नई PST फ़ाइल बनाने की विधि।
- OLM फ़ाइल से प्रत्येक फ़ोल्डर और उसके संदेशों को पुनरावर्ती रूप से पढ़ें।
- add_to_pst फ़ंक्शन का उपयोग करके प्रत्येक फ़ोल्डर और उसके संदेशों को PST फ़ाइल में जोड़ें, मूल संरचना को बनाए रखते हुए।
import aspose.email as ae
olm = ae.storage.olm.OlmStorage("my.olm")
pst = ae.storage.pst.PersonalStorage.create("my.pst", ae.storage.pst.FileFormatVersion.UNICODE)
for folder in olm.folder_hierarchy:
add_to_pst(pst.root_folder, folder)
यह कोड aspose.email लाइब्रेरी का उपयोग करके OLM फ़ाइल को PST फ़ाइल में बदलने की प्रक्रिया को शुरू करने के लिए मुख्य स्क्रिप्ट है। यह दर्शाता है कि OLM फ़ाइल को कैसे खोलें, नई PST फ़ाइल बनाएं, और डेटा स्थानांतरण कार्य करने के लिए add_to_pst फ़ंक्शन को कॉल करें। यह स्क्रिप्ट माइग्रेशन के लिए प्रवेश बिंदु के रूप में कार्य करती है, फ़ोल्डरों और संदेशों के विस्तृत स्थानांतरण को संभालने के लिए फ़ंक्शन का कुशलतापूर्वक उपयोग करती है।
पुर्नावर्ती फ़ोल्डर और संदेश स्थानांतरण
यह विधि OLM फ़ाइल से PST फ़ाइल में ईमेल डेटा माइग्रेट करते समय फ़ोल्डर और संदेश हैंडलिंग प्रक्रिया पर गहरा नियंत्रण प्रदान करती है। नीचे दिया गया कोड उदाहरण add_to_pst फ़ंक्शन का उपयोग करता है जो स्थानांतरण तर्क को परिभाषित करता है। इसका मुख्य कार्य फ़ोल्डरों और संदेशों के माध्यम से पुनरावर्तित रूप से चलना है, यह सुनिश्चित करते हुए कि वे सही ढंग से PST प्रारूप में स्थानांतरित और प्रतिलिपि किए जाएँ। यह फ़ंक्शन अत्यधिक पुन: उपयोग योग्य है और इन फ़ाइलों के खोलने और निर्माण को प्रबंधित करने वाले बड़े अनुप्रयोग या स्क्रिप्ट का हिस्सा बनने के लिए तैयार है।
def add_to_pst(pst_folder, olm_folder):
pst_sub_folder = pst_folder.get_sub_folder(olm_folder.name)
for msg in olm_folder.enumerate_mapi_messages():
if pst_sub_folder is None:
pst_sub_folder = pst_folder.add_sub_folder(olm_folder.name, get_container_class(msg.message_class))
pst_sub_folder.add_message(msg)
if pst_sub_folder is None:
pst_sub_folder = pst_folder.add_sub_folder(olm_folder.name)
for olm_sub_folder in olm_folder.sub_folders:
add_to_pst(pst_sub_folder, olm_sub_folder)
PST में फ़ोल्डर प्रकार निर्धारित करें
OLM फ़ाइल को PST में बदलते समय, हमें सुनिश्चित करना चाहिए कि फ़ोल्डर संरचना बनी रहे और PST फ़ाइल में प्रत्येक फ़ोल्डर का सही प्रकार हो। PST के विपरीत, OLM में फ़ोल्डरों के पास पूर्वनिर्धारित प्रकार नहीं होते। डेटा को सही ढंग से वर्गीकृत करने और स्थानांतरित करने के लिए नीचे दिए गए चरणों का पालन करें:
- OLM फ़ोल्डर से पहला संदेश पढ़ें और उसका प्रकार निर्धारित करें।
- एक वर्गीकरण विधि का उपयोग करके PST में उचित फ़ोल्डर प्रकार की गणना करने के लिए इस संदेश प्रकार का उपयोग करें।
- PST फ़ाइल में निर्धारित प्रकार का फ़ोल्डर बनाएं।
- संदेश को नए बनाए गए PST फ़ोल्डर में जोड़ें।
OLM फ़ोल्डर में शेष संदेशों के लिए, हम मानते हैं कि वे उसी श्रेणी में आते हैं, क्योंकि फ़ोल्डर प्रकार पहले ही निर्धारित हो चुका है।
The get_container_class फ़ंक्शन विभिन्न संदेश वर्गों को सही PST फ़ोल्डर प्रकारों से मिलाकर Outlook आइटम को वर्गीकृत करने में मदद करता है:
def get_container_class(message_class):
if message_class.startswith("IPM.Contact") or message_class.startswith("IPM.DistList"):
return "IPF.Contact"
if message_class.startswith("IPM.StickyNote"):
return "IPF.StickyNote"
if message_class.startswith("IPM.Activity"):
return "IPF.Journal"
if message_class.startswith("IPM.Task"):
return "IPF.Task"
if message_class.startswith("IPM.Appointment") or message_class.startswith("IPM.Schedule.meeting"):
return "IPF.Appointment"
return "IPF.Note"