Outlook PST फ़ाइलें पढ़ें, फ़ोल्डर और सबफ़ोल्डर जानकारी प्राप्त करें
Aspose.Email for .NET Microsoft Outlook PST फ़ाइलें पढ़ने के लिए एक API प्रदान करता है। आप डिस्क या स्ट्रीम से PST फ़ाइल को एक इंस्टेंस में लोड कर सकते हैं PersonalStorage क्लास इसका उपयोग इसकी सामग्री की विस्तृत जानकारी तक पहुँचने के लिए किया जाता है, जैसे फ़ोल्डर, सबफ़ोल्डर और संदेश। अतिरिक्त रूप से, API PST फ़ोल्डर से संदेश प्राप्त करते समय search folders शामिल करने की कार्यक्षमता प्रदान करता है।
PST फ़ाइल लोड करना
Outlook PST फ़ाइल को एक इंस्टेंस में लोड किया जा सकता है PersonalStorage क्लास। नीचे दिया गया कोड स्निपेट दिखाता है कि PST फ़ाइल कैसे लोड करें।
PST जानकारी प्रदर्शित करना
के बाद PST फ़ाइल लोड करना, आप फ़ाइल के डिस्प्ले नाम, रूट फ़ोल्डर, सबफ़ोल्डर और संदेशों की गिनती की जानकारी प्राप्त कर सकते हैं। नीचे दिया गया कोड स्निपेट दिखाता है कि PST फ़ाइल, फ़ोल्डर और फ़ोल्डरों में संदेशों की संख्या कैसे प्रदर्शित की जाए:
केवल उपयोगकर्ता-निर्मित फ़ोल्डर प्राप्त करें
PST/OST फ़ाइलों में उपयोगकर्ता द्वारा निर्मित फ़ोल्डर हो सकते हैं, अर्थात सभी मानक IPM फ़ोल्डर को बाहर रखते हुए। Aspose.Email only_folders_created_by_user प्रॉपर्टी का उपयोग करके केवल उपयोगकर्ता निर्मित फ़ोल्डर तक पहुँचने की कार्यक्षमता प्रदान करता है। PersonalStorageQueryBuilder क्लास। आप इस प्रॉपर्टी को True सेट करके केवल उपयोगकर्ता द्वारा बनाए गए फ़ोल्डर प्राप्त कर सकते हैं। नीचे दिया गया कोड स्निपेट दिखाता है कि आप अपने प्रोजेक्ट में only_folders_created_by_user प्रॉपर्टी का कैसे उपयोग कर सकते हैं:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
query_builder = ae.storage.pst.PersonalStorageQueryBuilder()
query_builder.only_folders_created_by_user.equals(True)
folders = pst.root_folder.get_sub_folders(query_builder.get_query())
for folder in folders:
print(f"Folder: {folder.display_name}")
पूर्वनिर्धारित फ़ोल्डर की पहचान
यह जानने के लिए कि PST फ़ाइल के भीतर कोई फ़ोल्डर मानक फ़ोल्डर है या नहीं, get_predefined_type मेथड का उपयोग करें FolderInfo क्लास। मानक (या पूर्वनिर्धारित) फ़ोल्डर, उपयोगकर्ता द्वारा बनाए गए फ़ोल्डर के विपरीत, Outlook द्वारा बनाए जाते हैं जब आप एक ईमेल खाता जोड़ते हैं जैसे इनबॉक्स, सेंट आइटम्स, ड्राफ्ट्स, डिलीटेड आइटम्स, कैलेंडर, टास्क, नोट्स आदि।
नीचे दिया गया कोड नमूना दर्शाता है कि इस मेथड का प्रोजेक्ट में कैसे उपयोग किया जाए। यदि True सेट किया जाता है, तो यह टॉप-लेवल पैरेंट फ़ोल्डर के लिए पूर्वनिर्धारित प्रकार लौटाता है। यह निर्धारित करता है कि वर्तमान फ़ोल्डर एक पूर्वनिर्धारित फ़ोल्डर का सबफ़ोल्डर है या नहीं। यदि False सेट किया जाता है, तो यह वर्तमान फ़ोल्डर के लिए पूर्वनिर्धारित प्रकार लौटाता है।
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
folders = pst.root_folder.get_sub_folders()
for folder in folders:
print(f"Folder: {folder.display_name}")
print(f"Is predefined: {folder.get_predefined_type(False) != ae.storage.pst.StandardIpmFolder.UNSPECIFIED}")
print("-----------------------------------")
PersonalStorage में RSS फीड्स का प्रबंधन
Aspose.Email एक कार्यक्षमता प्रदान करता है जिससे आप RSS Feeds पूर्वनिर्धारित फ़ोल्डर का संदर्भ प्राप्त कर सकते हैं, जिससे डेवलपर्स प्रोग्रामेटिक रूप से Outlook PST फ़ाइल में संग्रहित RSS फीड्स तक पहुँच और उन्हें नियंत्रित कर सकते हैं। "RSS Feeds फ़ोल्डर" का संदर्भ प्राप्त करके, डेवलपर्स RSS फीड डेटा के साथ कार्य कर सकते हैं, जिसमें नए फीड्स की सदस्यता लेना, मौजूदा फीड्स को अपडेट करना, या फीड्स से जानकारी निकालना शामिल हो सकता है।
RssFeeds का मान StandardIpmFolder enum आमतौर पर एक पूर्वनिर्धारित फ़ोल्डर प्रकार को दर्शाता है जो Outlook PST फ़ाइल में RSS फीड्स को संग्रहित करने के लिए विशेष रूप से डिज़ाइन किया गया है। इस enum मान का उपयोग करके, डेवलपर्स प्रोग्रामेटिक रूप से "RSS Feeds फ़ोल्डर" को टार्गेट और इंटरैक्ट कर सकते हैं। नीचे दिया गया कोड उदाहरण दर्शाएगा कि इस फ़ीचर को आपके प्रोजेक्ट में कैसे लागू किया जाए:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
rss_folder = pst.get_predefined_folder(ae.storage.pst.StandardIpmFolder.RSS_FEEDS)
एक RSS Feeds फ़ोल्डर जोड़ने के लिए, नीचे दिया गया कोड स्निपेट उपयोग करें:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
rss_folder = pst.create_predefined_folder("RSS Feeds", ae.storage.pst.StandardIpmFolder.RSS_FEEDS)
खोज योग्य फ़ोल्डरों का पार्सिंग
Aspose.Email प्रदान करता है एक FolderKind विभिन्न प्रकार के PST फ़ोल्डरों के साथ काम करने के लिए एनेमरेशन। NORMAL फ़ोल्डरों के अलावा, यह SEARCH फ़ोल्डरों के साथ भी काम करता है। एक SEARCH फ़ोल्डर एक वर्चुअल फ़ोल्डर है जो सभी ईमेल आइटम्स का वह दृश्य देता है जो विशिष्ट खोज मानदंडों से मेल खाते हैं। SEARCH फ़ोल्डरों को पार्स करने के लिए, नीचे दिया गया कोड स्निपेट उपयोग करें:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
folders = pst.root_folder.get_sub_folders(ae.storage.pst.FolderKind.SEARCH | ae.storage.pst.FolderKind.NORMAL)
# Browse through each folder to display folder name and number of messages
for folder in folders:
print(f"Folder: {folder.display_name}")
sub_folders = folder.get_sub_folders(ae.storage.pst.FolderKind.SEARCH | ae.storage.pst.FolderKind.NORMAL)
for sub_folder in sub_folders:
print(f"Sub-folder: {folder.display_name}")
पैरेंट फ़ोल्डर जानकारी प्राप्त करना
निम्नलिखित कोड स्निपेट दिखाता है कि पैरेंट फ़ोल्डर की जानकारी कैसे प्राप्त करें MessageInfo.
पथ द्वारा PST सबफ़ोल्डर प्राप्त करना
पथ द्वारा PST सबफ़ोल्डर को प्राप्त करने के लिए, get_sub_folder मेथड का उपयोग करें FolderInfo क्लास। यह एक डायरेक्टरी या फ़ाइल सिस्टम के भीतर एक विशिष्ट सबफ़ोल्डर को प्राप्त करता है।
मेथड निम्नलिखित पैरामीटर लेता है:
-
name - वह सबफ़ोल्डर का नाम दर्शाता है जिसे प्राप्त करने की आवश्यकता है। यह मेथड को खोजने के लिए सबफ़ोल्डर के नाम या पहचानकर्ता को निर्दिष्ट करने हेतु उपयोग किया जाता है।
-
ignore_case - एक बूलियन मान है जो निर्धारित करता है कि सबफ़ोल्डर नाम की तुलना करते समय मेथड केस सेंसिटिविटी को नज़रअंदाज़ करे या नहीं। यदि True सेट किया जाता है, तो मेथड केस को ध्यान में रखे बिना नाम मिलान करेगा (उदाहरण के लिए, "folder" और "Folder" को समान माना जाएगा)। यदि False सेट किया जाता है, तो मेथड केस-सेंसिटिव तुलना करेगा।
-
handle_path_separator - एक बूलियन मान है जो निर्दिष्ट करता है कि सबफ़ोल्डर खोजते समय मेथड को पाथ सेपरेटर को संभालना चाहिए या नहीं। पाथ सेपरेटर वे अक्षर होते हैं जो डायरेक्टरी पाथ में फ़ोल्डर को अलग करते हैं (उदाहरण के लिए, Windows में "\" या Unix में "/" में)। यदि True सेट किया जाता है, तो मेथड पाथ सेपरेटर को स्वचालित रूप से संभालेगा, जिससे सही फ़ोल्डर मिलान सुनिश्चित होगा। यदि False सेट किया जाता है, तो यह पाथ सेपरेटर को सबफ़ोल्डर नाम का हिस्सा मानेंगे, जिससे खोज व्यवहार बदल जाएगा।
नीचे दिया गया कोड नमूना दर्शाता है कि पथ द्वारा PST सबफ़ोल्डर को कैसे प्राप्त किया जाए:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
# In this sample, the method will return a ‘Jan’ named folder
# that is located at the Inbox\Reports\ path
# relative to the root folder.
folder = pst.root_folder.get_sub_folder("Inbox\Reports\Jan", True, True)