Outlook for Mac OLM फ़ाइलों का प्रबंधन
OLM (Outlook for Mac Archive) Microsoft Outlook for Mac से संबंधित एक फ़ाइल फ़ॉर्मेट है। इसका उपयोग ईमेल संदेशों, संपर्कों, कैलेंडर आइटम, कार्यों और अन्य Outlook डेटा को Mac कंप्यूटरों पर संग्रहित और सुरक्षित रखने के लिए किया जाता है। OLM फ़ाइलें बैकअप या आर्काइव फ़ॉर्मेट के रूप में कार्य करती हैं, जिससे उपयोगकर्ता भविष्य में संदर्भ या माइग्रेशन के लिए अपने Outlook for Mac डेटा को सहेज सकते हैं। यह महत्वपूर्ण है कि OLM फ़ाइलें केवल Outlook for Mac के लिए विशिष्ट हैं और Windows पर Outlook द्वारा उपयोग किए जाने वाले PST (Personal Storage Table) फ़ॉर्मेट के साथ संगत नहीं हैं। यदि आपको विभिन्न प्लेटफ़ॉर्म के बीच Outlook डेटा स्थानांतरित करने की आवश्यकता है, तो रूपांतरण उपकरण उपयोगी होंगे। Aspose.Email ऐसे उपकरण प्रदान करता है, जिसमें OLM फ़ाइलों को खोलना, पढ़ना और अन्य कार्यात्मकताएँ शामिल हैं।
Outlook OLM फ़ाइलें खोलना
OLM फॉर्मेट फ़ाइलें दो तरीकों से खोली जा सकती हैं:
- कंस्ट्रक्टर का उपयोग करके
- स्थैतिक ‘from_file’ मेथड का उपयोग करके
Python कंस्ट्रक्टर्स का उपयोग करके Outlook OLM फ़ाइलें खोलें
फ़ाइल खोलने के लिए, इस क्लास का कंस्ट्रक्टर कॉल करें OlmStorage क्लास और फ़ाइल का पूरा नाम या स्ट्रीम को आर्ग्युमेंट के रूप में पास करें:
import aspose.email as ae
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage(fileName)
Python की स्थिर विधि FromFile का उपयोग करके OLM फ़ाइलें खोलें
फ़ाइल खोलने के लिए, क्लास की स्थैतिक मेथड ‘from_file’ का उपयोग करें। OlmStorage क्लास और फ़ाइल का पूरा नाम या स्ट्रीम को आर्ग्युमेंट के रूप में पास करें:
import aspose.email as ae
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage.from_file(fileName)
OLM फ़ाइलों में फ़ोल्डर और ईमेल प्रबंधन
फ़ोल्डर संरचना को पुनरावर्ती रूप से एक्सेस करें
Aspose.Email API आपको print_all_folders फ़ंक्शन का उपयोग करके OLM फ़ाइल से प्राप्त फ़ोल्डर पदानुक्रम को विज़ुअलाइज़ और प्रदर्शित करने की अनुमति देता है। यह फ़ंक्शन क्लास की folder_hierarchy प्रॉपर्टी को लेता है। OlmStorage class, साथ में एक इंडेंटेशन लेवल को इनपुट के रूप में लेकर, पुनरावर्ती रूप से पदानुक्रम को ट्रैवर्स करता है ताकि प्रत्येक फ़ोल्डर का नाम उचित इंडेंटेशन के साथ प्रिंट हो।
नीचे कोड सैंपल दिया गया है जो दिखाता है कि print_all_folders फ़ंक्शन का उपयोग करके OLM फ़ाइल से फ़ोल्डर पदानुक्रम को कैसे प्रदर्शित किया जाए:
import aspose.email as ae
def print_all_folders(folder_hierarchy, indent):
for folder in folder_hierarchy:
print(f"{indent}{folder.name}")
print_all_folders(folder.sub_folders, indent + "-")
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage(fileName)
print_all_folders(olm.folder_hierarchy, "")
ऊपर दिया गया कोड सैंपल पुनरावर्ती फ़ंक्शन के माध्यम से OLM फ़ाइल की फ़ोल्डर पदानुक्रम को अधिक संरचित और पठनीय रूप में प्रदर्शित करने के लिए है।
फ़ोल्डर संरचना को सीधे एक्सेस करें
Aspose.Email आपको get_folders() मेथड का उपयोग करके OLM फ़ाइल से सीधे फ़ोल्डर संरचना तक पहुँचने की सुविधा भी देता है। OlmStorage क्लास।
नीचे फ़ोल्डर संरचना तक सीधे पहुँचने के लिए एक कोड नमूना दिया गया है:
import aspose.email as ae
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage.from_file(fileName)
folders = olm.get_folders()
नाम द्वारा फ़ोल्डर प्राप्त करें
get_folder(name, ignore_case) मेथड का उपयोग करके किसी भी फ़ोल्डर को उसके नाम से प्राप्त किया जा सकता है। OlmStorage class। इस मेथड को फ़ोल्डर नाम और केस सेंसिटिविटी पैरामीटर की आवश्यकता होती है।
यहाँ एक नमूना कोड दिया गया है जो दिखाता है कि नाम द्वारा फ़ोल्डर कैसे प्राप्त किया जाए:
import aspose.email as ae
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage.from_file(fileName)
folder = olm.get_folder("Inbox", True)
Outlook OLM फ़ाइलों से ईमेल सूची
Aspose.Email लाइब्रेरी का उपयोग Outlook for Mac (OLM) फ़ाइलों से ईमेल संदेश पढ़ने और निकालने के लिए किया जा सकता है। आप निम्नलिखित मेथड्स का उपयोग करके ईमेल की सूची प्राप्त कर सकते हैं OlmFolder class जो एक फ़ोल्डर का प्रतिनिधित्व करता है:
- enumerate_messages() - फ़ोल्डर में प्रत्येक ईमेल संदेश पर इटररेट करता है। यह मेथड संदेशों को इस क्लास की इंस्टैंस के रूप में लौटाता है। OlmMessageInfo class जो प्रत्येक ईमेल संदेश की मूल जानकारी प्रदान करता है, जैसे विषय, प्रेषक, तिथि आदि।
- enumerate_mapi_messages() - फ़ोल्डर में प्रत्येक ईमेल संदेश पर भी इटररेट करता है, लेकिन इस मामले में, संदेशों को इस क्लास की इंस्टैंस के रूप में लौटाता है। MapiMessage class जो ईमेल संदेश को अधिक विस्तृत और MAPI-विशिष्ट तरीके से दर्शाता है। यह ईमेल संदेश की विविध प्रॉपर्टी और विवरणों तक पहुँच प्रदान करता है, जिससे अधिक उन्नत और विशिष्ट प्रोसेसिंग संभव होती है।
नीचे दिए गए कोड उदाहरण दिखाते हैं कि बुनियादी ईमेल विषयों को निकालना और Outlook OLM फ़ाइल से विस्तृत ईमेल संदेशों को कैसे सहेजें, जिसमें enumerate_messages() का उपयोग विषय निकाले के लिए और enumerate_mapi_messages() का उपयोग संदेशों को .msg फ़ाइलों के रूप में सहेजने के लिए किया जाता है।
’enumerate_messages()’ मेथड के उपयोग से बुनियादी ईमेल जानकारी निकालें
import aspose.email as ae
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage.from_file(fileName)
folder = olm.get_folder("Inbox", True)
for message_info in folder.enumerate_messages():
print(message_info.subject)
’enumerate_mapi_messages()’ मेथड के उपयोग से विस्तृत ईमेल संदेश सहेजें
import aspose.email as ae
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage.from_file(fileName)
folder = olm.get_folder("Inbox", True)
for msg in folder.enumerate_mapi_messages():
msg.save(f"{msg.subject}.msg")
OLM फ़ोल्डर में कुल संदेशों की संख्या प्राप्त करें
यह OlmFolder class आपको निम्नलिखित मेथड्स के साथ और अधिक विकल्प प्रदान करता है:
- has_messages - यह दर्शाता है कि वर्तमान फ़ोल्डर में संदेश हैं या नहीं, इसका मान प्राप्त करता है।
- message_count - संदेशों की संख्या प्राप्त करता है।
नीचे दिया गया कोड उदाहरण इन मेथड्स का उपयोग कैसे किया जाता है दिखाता है:
import aspose.email as ae
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage.from_file(fileName)
folder = olm.get_folder("Inbox", True)
if folder.has_messages:
print(f"Message count: {folder.message_count}")
Outlook OLM संदेशों के लिए संशोधित तिथियाँ प्राप्त करना या सेट करना
Aspose.Email ईमेल संदेश के अंतिम संशोधन समय की जानकारी प्राप्त करना संभव बनाता है। modified_date प्रॉपर्टी का OlmMessageInfo class संदेश के अंतिम संशोधित होने की तिथि और समय को दर्शाता है।
यहाँ एक उदाहरण है जो प्रॉपर्टी के उपयोग को दर्शाता है:
import aspose.email as ae
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage.from_file(fileName)
folder = olm.get_folder("Inbox", True)
for message_info in folder.enumerate_messages():
modifiedDate = message_info.modified_date
OLM सामग्री निकालना
Outlook OLM फ़ाइलों से ईमेल निकालें
आप extract_mapi_message(message_info) मेथड का उपयोग करके ईमेल स्टोरेज से वास्तविक MAPI संदेश डेटा प्राप्त कर सकते हैं। OlmStorage class। यह मेथड प्रदान किए गए message_info के आधार पर स्टोरेज से MAPI संदेश निकालता है।
निम्नलिखित कोड उदाहरण दिखाता है कि इस मेथड का उपयोग कैसे किया जाता है:
import aspose.email as ae
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage.from_file(fileName)
folder = olm.get_folder("Inbox", True)
for message_info in folder.enumerate_messages():
msg = olm.extract_mapi_message(message_info)
पहचानकर्ता के माध्यम से OLM फ़ाइलों से Outlook संदेश निकालें
MAPI संदेश डेटा तक पहुँचने के लिए, आप entry_id प्रॉपर्टी का उपयोग करके संदेश का विशिष्ट पहचानकर्ता (Entry ID) प्राप्त कर सकते हैं OlmMessageInfo class। फिर आप extract_mapi_message(id) मेथड का उपयोग कर सकते हैं OlmStorage क्लास, एंट्री आईडी को पैरामीटर के रूप में पास करके उस विशिष्ट एंट्री आईडी से जुड़े MAPI संदेश को प्राप्त करने के लिए। नीचे दिया गया कोड स्निपेट इन सुविधाओं के उपयोग को दर्शाता है:
import aspose.email as ae
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage.from_file(fileName)
folder = olm.get_folder("Inbox", True)
for message_info in folder.enumerate_messages():
msg = olm.extract_mapi_message(message_info.entry_id)
OLM फ़ोल्डर संरचना प्रबंधन
Outlook OLM फ़ाइलों में फ़ोल्डर पथ प्राप्त करें
Aspose.Email आपको Outlook OLM फ़ाइल के भीतर फ़ोल्डर का पदानुक्रमिक पथ या स्थान प्राप्त करने देता है। API path प्रॉपर्टी प्रदान करता है OlmFolder क्लास जो फ़ोल्डर पाथ लौटाता है। नीचे दिया गया कोड स्निपेट इस प्रॉपर्टी के उपयोग को दर्शाता है:
import aspose.email as ae
def print_path(storage, folders):
for folder in folders:
# print the current folder path
print(folder.path)
if folder.sub_folders:
print_path(storage, folder.sub_folders)
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage(fileName)
print_path(olm, olm.folder_hierarchy)
Outlook OLM फ़ोल्डर्स में आइटम गिनें
Aspose.Email आपको Outlook OLM फ़ाइल के किसी विशिष्ट फ़ोल्डर में सम्मिलित कुल ईमेल संदेशों की गिनती करने की सुविधा देता है। message_count प्रॉपर्टी का OlmFolder क्लास OLM फ़ाइल में किसी विशिष्ट फ़ोल्डर में संग्रहीत कुल आइटम्स (ईमेल संदेश) की संख्या लौटाता है। नीचे दिया गया कोड स्निपेट इस प्रॉपर्टी के उपयोग को दर्शाता है:
import aspose.email as ae
def print_message_count(folders):
for folder in folders:
print(f"Message Count [{folder.name}]: {folder.message_count}")
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage(fileName)
print_message_count(olm.folder_hierarchy)
Outlook OLM फ़ाइलों में कुल आइटम गिनती प्राप्त करें
class के get_total_items_count() मेथड का OlmStorage class नीचे दिखाए गए कोड उदाहरण में OLM स्टोरेज में सम्मिलित संदेश आइटमों की कुल संख्या लौटाता है:
import aspose.email as ae
fileName = "my.olm"
olm = ae.storage.olm.OlmStorage(fileName)
count = olm.get_total_items_count()
Outlook श्रेणी प्रबंधन
Outlook श्रेणी रंग प्राप्त करें
Aspose.Email के साथ, आप आसानी से OLM फ़ाइलों में संग्रहीत Outlook आइटम श्रेणियों से जुड़ी श्रेणी रंगों को प्राप्त और उपयोग कर सकते हैं। OlmItemCategory क्लास आपको श्रेणी नामों और उनके संबंधित रंगों तक पहुँचने की अनुमति देती है, जो हेक्साडेसिमल फॉर्मेट में दर्शाए गए हैं। OlmStorage class में OLM स्टोरेज से श्रेणियों की सूची प्राप्त करने के लिए GetCategories() मेथड है। नीचे दिया गया कोड उदाहरण लागू करके, आप आसानी से OML स्टोरेज फ़ाइल से सभी प्रयुक्त श्रेणियों को प्राप्त कर सकते हैं और श्रेणी का नाम उसके रंग के साथ एक्सेस कर सकते हैं।
with OlmStorage.FromFile("storage.olm") as olm:
categories = olm.GetCategories()
for category in categories:
print(f"Category name: {category.Name}")
# Color is represented as a hexadecimal value: #rrggbb
print(f"Category color: {category.Color}")
इसके अलावा, आप फ़ोल्डर में संदेशों को इटररेट करके और श्रेणी नाम के आधार पर संबंधित श्रेणी रंग तक पहुँचकर विशिष्ट संदेशों से जुड़ी श्रेणी रंग प्राप्त कर सकते हैं।
for msg in olm.EnumerateMessages(folder):
if msg.Categories is not None:
for msgCategory in msg.Categories:
print(f"Category name: {msgCategory}")
categoryColor = next((c.Color for c in categories if c.Name.lower() == msgCategory.lower()), None)
if categoryColor is not None:
print(f"Category color: {categoryColor}")