Outlook PST Dosyalarını Okuyun, Klasör ve Alt Klasör Bilgilerini Getirin
Aspose.Email for .NET, Microsoft Outlook PST dosyalarını okuma API’si sağlar. Bir PST dosyasını diskten veya akıştan bir sınıf örneğine yükleyebilirsiniz, PersonalStorage sınıfı, klasörler, alt klasörler ve mesajlar gibi içeriğinin ayrıntılı bilgilerine erişmek için. Ayrıca API, PST klasörlerinden mesaj alırken arama klasörlerini dahil etme işlevselliği sağlar.
PST Dosyası Yükleme
Bir Outlook PST dosyası, PersonalStorage sınıfı. Aşağıdaki kod parçacığı, PST dosyasını nasıl yükleyeceğinizi gösterir.
PST Bilgilerini Görüntüleme
Sonrasında bir PST dosyası yükleme, dosyanın görüntü adı, kök klasör, alt klasörler ve mesaj sayısı hakkında bilgi alabilirsiniz. Aşağıdaki kod parçacığı, PST dosyasının adını, klasörlerini ve klasörlerdeki mesaj sayısını nasıl göstereceğinizi gösterir:
Yalnızca Kullanıcı Tarafından Oluşturulan Klasörleri Al
PST/OST dosyaları, kullanıcı tarafından oluşturulmuş klasörler içerebilir, yani tüm standart IPM klasörlerini dışarıda bırakır. Aspose.Email, only_folders_created_by_user özelliğini kullanarak yalnızca kullanıcı oluşturmuş klasörlere erişim sağlayan işlevsellik sunar, PersonalStorageQueryBuilder sınıf. Bu özelliği True olarak ayarlayarak yalnızca kullanıcı tarafından oluşturulan klasörleri alabilirsiniz. Aşağıdaki kod parçacığı, projenizde only_folders_created_by_user özelliğini nasıl kullanabileceğinizi gösterir:
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}")
Önceden Tanımlı Klasörleri Tanımlama
Bir PST dosyasındaki bir klasörün standart bir klasör olup olmadığını öğrenmek için, FolderInfo sınıf. Standart (veya önceden tanımlı) klasörler, kullanıcı tarafından oluşturulan klasörlerin aksine, Outlook bir e-posta hesabı eklediğinizde oluşturulan klasörlerdir; örn. Gelen Kutusu, Gönderilen Öğeler, Taslaklar, Silinen Öğeler, Takvim, Görevler, Notlar vb.
Aşağıdaki kod örneği, bu yöntemin bir projede nasıl kullanılacağını gösterir. True olarak ayarlandığında, üst düzey ana klasör için önceden tanımlı türü döndürür. Bu, geçerli klasörün önceden tanımlı bir klasörün alt klasörü olup olmadığını belirler. False olarak ayarlandığında, geçerli klasör için önceden tanımlı türü döndürür.
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’ta RSS Beslemelerini Yönetme
Aspose.Email, bir Outlook PST dosyasında depolanan RSS beslemelerine programatik olarak erişim ve manipülasyon sağlayan bir RSS Beslemeleri önceden tanımlı klasörüne referans alma işlevselliği sunar. "RSS Beslemeleri klasörü"ne bir referans alarak, geliştiriciler RSS besleme verileriyle çalışabilir; yeni beslemelere abone olabilir, mevcut beslemeleri güncelleyebilir veya beslemelerden bilgi çıkarabilir.
RssFeeds’in değeri, StandardIpmFolder enum, genellikle Outlook PST dosyası içinde RSS beslemelerini depolamak için özel olarak tasarlanmış önceden tanımlı klasör tipini temsil eder. Bu enum değeri kullanılarak geliştiriciler "RSS Beslemeleri klasörü"nü programatik olarak hedefleyebilir ve etkileşime girebilir. Aşağıdaki kod örnekleri bu özelliği projenize nasıl uygulayacağınızı gösterecek:
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)
Bir RSS Beslemeleri klasörü eklemek için aşağıdaki kod parçacığını kullanın:
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)
Aranabilir Klasörleri Ayrıştırma
Aspose.Email bir FolderKind PST klasörlerinin farklı tipleriyle çalışmak için bir numaralandırma. NORMAL klasörlere ek olarak, SEARCH klasörleriyle de çalışır. SEARCH klasörü, belirli arama kriterleriyle eşleşen tüm e-posta öğelerinin bir görünümünü sağlayan sanal bir klasördür. SEARCH klasörlerini ayrıştırmak için aşağıdaki kod parçacığını kullanın:
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}")
Üst Klasör Bilgilerini Getirme
Aşağıdaki kod parçacığı, üst klasör bilgisini şu şekilde almayı gösterir: MessageInfo.
Yoluyla PST Alt Klasörü Alma
Bir PST alt klasörünü yoluyla almak için, sınıfın get_sub_folder metodunu kullanın. FolderInfo sınıf. Belirli bir dizin veya dosya sistemindeki bir alt klasörü alır.
Metod aşağıdaki parametreleri alır:
-
name - alınması gereken alt klasörün adını temsil eder. Metodun araması gereken alt klasörün adını veya tanımlayıcısını belirtmek için kullanılır.
-
ignore_case - alt klasör adını karşılaştırırken büyük/küçük harf duyarlılığını görmezden gelip gelmeyeceğini belirten bir boolean değerdir. True ise, ad eşleşmesi büyük/küçük harf dikkate alınmadan yapılır (örn. "folder" ve "Folder" aynı kabul edilir). False ise, büyük/küçük harf duyarlı karşılaştırma yapılır.
-
handle_path_separator - bir alt klasör aranırken yol ayırıcıyı işleyip işlemeyeceğini belirten bir boolean değerdir. Yol ayırıcıları, dizin yolunda klasörleri ayırmak için kullanılan karakterlerdir (örn. Windows’ta "\" veya Unix’te "/"). True olarak ayarlandığında, metod yol ayırıcıyı otomatik olarak işleyerek doğru klasör eşleşmesini sağlar. False olarak ayarlandığında, yol ayırıcıyı alt klasör adının bir parçası olarak değerlendirir ve farklı bir arama davranışı gösterir.
Aşağıdaki kod örneği, yolu ile bir PST alt klasörünü nasıl alacağınızı gösterir:
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)