Работа със съобщения в PST файл
Добавяне на съобщения към Outlook PST файлове
Добавяне на едно съобщение към PST файл
Създайте нов PST файл и добавете подпапки показва как да създадете PST файл и да добавите подпапка към него. С Aspose.Email можете също да добавяте съобщения към подпапки на PST файл, който сте създали или заредили. Следният примерен код демонстрира как да създадете нов PST файл, да добавите папка "Inbox" и след това да добавите съобщение към тази папка. PersonalStorage и FolderInfo класове, използвани за изпълнение на задачата.
- Използвайте PersonalStorage.create метод за иницииране на нов PST файл, като се посочи пътят до файла и версията на файловия формат като Unicode.
- Създайте нова папка с име "Inbox" в кореновата директория на PST файла.
- Добавете съобщение към новосъздадената папка "Inbox", като използвате add_message метод.
- Заредете съобщението, като използвате MapiMessage.load.
pst = PersonalStorage.create(dataDir + "AddMessagesToPst_out.pst", FileFormatVersion.UNICODE)
# Add new folder "Inbox"
inboxFolder = pst.root_folder.add_sub_folder("Inbox");
# Add message to Inbox Folder
inboxFolder.add_message(MapiMessage.load(dataDir + "MapiMsgWithPoll.msg"))
pst.dispose()
Добавяне на множество съобщения към PST файлове за по-добра производителност
Добавянето на отделни съобщения към PST изисква повече I/O операции към диска и може да забави производителността. За подобряване на производителността, съобщенията могат да се добавят към PST в режим на масово добавяне, като се минимизират I/O операциите.
Зареждане и добавяне на съобщения от диск
Този add_messages метод, който ви позволява да зададете диапазон от съобщения за добавяне към PST файл. Следният примерен код демонстрира как да добавите множество съобщения от диск към PST файл за подобрена производителност:
- Дефинирайте функция, като създадете
add_messages_in_bulk_modeс параметри за името на PST файла и папката със съобщения. - Отворете указаното PST файл, използвайки PersonalStorage.from_file().
- Извлечете подпапка "myInbox" от кореновата папка на PST.
- Добавете съобщения от указаната папка масово, като използвате folder.add_messages().
- Извикайте
add_messages_in_bulk_mode()с PST файла и името на папката като аргументи.
from aspose.email.storage.pst import PersonalStorage, StandardIpmFolder, FileFormatVersion
def add_messages_in_bulk_mode(file_name, msg_folder_name):
with PersonalStorage.from_file(file_name) as personal_storage:
folder = personal_storage.root_folder.get_sub_folder("myInbox")
folder.add_messages(message_collection(msg_folder_name))
# Add multiple messages from the specified folder to the PST file for improved performance
add_messages_in_bulk_mode("file.pst", "folder_with_messages")
**Използвай MapiMessageEnumerator за масови операции
За оптимизиране на обработката на големи обеми съобщения, можете да приложите MapiMessageEnumerator клас, който ефективно итерира съобщения, съхранени в определена папка. Следният Python скрипт предлага структуриран подход за изброяване и итериране на MAPI съобщения с използване на библиотеката Aspose.Email. Той дефинира две помощни класа:
-
MapiMessageEnumeratorза четене на съобщения от директория, -
и
MapiMessageCollectionза управление на тях по време на пакетни операции.
Този подход улеснява обхождането и обработката на MAPI съобщителни файлове.
import os
from aspose.email.mapi import MapiMessage
# Define a class to enumerate through MAPI message files in a directory
class MapiMessageEnumerator:
def __init__(self, path):
self.files = os.listdir(path)
self.position = -1
def __next__(self):
self.position += 1
if self.position < len(self.files):
return MapiMessage.from_file(os.path.join(self.path, self.files[self.position]))
else:
raise StopIteration
def __iter__(self):
return self
# Define a collection class for managing MAPI messages
class MapiMessageCollection:
def __init__(self, path):
self.path = path
def __iter__(self):
return MapiMessageEnumerator(self.path)
# Iterate through MAPI messages in a specific directory
msg_folder_name = "\\Files\\msg"
# Initialize a collection with the directory containing message files
message_collection = MapiMessageCollection(msg_folder_name)
for message in message_collection:
# Process each MAPI message object as needed
pass
Добавяне на съобщения от друг PST
За импортиране на съобщения от един PST файл към друг, Aspose.Email предоставя FolderInfo.enumerate_mapi_messages() метод. Следният примерен код демонстрира как да копирате съобщения от папка "Inbox" в един PST файл към друг PST файл:
Извличане на съобщения от Outlook PST файлове
В Четете Outlook PST файлове, извличате информация за папки и подпапки, обсъдихме зареждането на Outlook PST файл и преглеждането на неговите папки, за да получим имената на папките и броя съобщения в тях. Тази статия обяснява как да достъпите и извлечете съобщения от Outlook PST файлове: извличане на базови детайли за съобщения, преброяване на броя елементи в папка и извличане на определен брой съобщения за обработка или анализ.
Извличане на базова информация за съобщения
Следният примерен код демонстрира как да извлечете и покажете ключова информация от MAPI съобщения, съхранявани в PST файл, като използвате библиотеката Aspose.Email. Той инициализира PersonalStorage обект от файл "Outlook.pst", извлича съдържанието на кореновата папка и обхожда всяко съобщение. Скриптът отпечатва подробности като тема, информация за подателя, адреси на получателите, време на доставка и тяло на съобщението, предоставяйки изчерпателен преглед на всеки имейл в указаната PST файл.
from aspose.email.storage.pst import *
from aspose.email.mapi import MapiMessage
pst = PersonalStorage.from_file("Outlook.pst")
folderInfo = pst.root_folder
messageInfoCollection = folderInfo.get_contents()
for messageInfo in messageInfoCollection:
mapi = pst.extract_message(messageInfo)
print("Subject: " + mapi.subject)
print("Sender name: " + mapi.sender_name)
print("Sender email address: " + mapi.sender_email_address)
print("To: ", mapi.display_to)
print("Cc: ", mapi.display_cc)
print("Bcc: ", mapi.display_bcc)
print("Delivery time: ", str(mapi.delivery_time))
print("Body: " + mapi.body)
Рекурсивно четене на вложени папки
Outlook PST файл може да съдържа вложени папки. За да получите информация за съобщенията от тях, както и от папките от най-горно ниво, използвайте рекурсивен метод за четене на всички папки. Следният фрагмент от код показва как да прочетете Outlook PST файл и да покажете съдържанието на папките и съобщенията рекурсивно:
Извличане на общия брой елементи в PST папка
За да получите общия брой елементи (като имейли, срещи, задачи, контакти и т.н.) в хранилището на съобщения, използвайте метода get_total_items_count() на MessageStore клас. Той предоставя удобен начин за бързо събиране на информация за размера и обема на данните в хранилището. Следният фрагмент от код показва как да получим общия брой елементи от PST файл:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
count = pst.store.get_total_items_count()
Извличане на определен брой съобщения
За да извлечете определен брой съобщения от PST файл, използвайте метода get_contents(start_index, count) на FolderInfo клас. Той приема два параметъра:
- start_index - номерът на началното съобщение, например 10‑то;
- count - общият брой съобщения за извличане.
Извличането само на необходимата подпостъпка от съобщения в даден момент може да бъде полезно за управление на големи обеми имейл данни. Следният примерен код демонстрира имплементацията на тази функция:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
folder = pst.root_folder.get_sub_folder("Inbox")
# Extracts messages starting from 10th index top and extract total 100 messages
messages = folder.get_contents(10, 100)
Работа с прикачени файлове в PST файлове
Извличане на прикачени файлове без извличане на цялото съобщение
Aspose.Email за Python позволява извличане на прикачени файлове от PST съобщения без необходимостта първо да се извлече цялото съобщение. Това може да се извърши, като се използва extract_attachments метод на PersonalStorage клас. Следният фрагмент от код демонстрира как да извлечете прикачени файлове, като пропускате .msg файлове:
from aspose.email.storage.pst import PersonalStorage
# Open the PST file
with PersonalStorage.from_file(data_dir + "my.pst") as personal_storage:
# Get the "Inbox" subfolder from the root folder in the personal storage
folder = personal_storage.root_folder.get_sub_folder("Inbox")
# Iterate over each message entry ID in the Inbox folder
for message_info in folder.enumerate_messages_entry_id():
# Extract attachments for the current message
attachments = personal_storage.extract_attachments(message_info)
# Check if the message has any attachments
if attachments.count > 0:
# Iterate over each attachment in the list
for attachment in attachments:
# Ignore attachments that are message files (.msg)
if attachment.long_file_name and attachment.long_file_name.endswith(".msg"):
continue
# Save the attachment with its original file name
attachment.save(data_dir + attachment.long_file_name)
Добавяне на файлове като прикачени към PST съобщения
Microsoft Outlook е мощен инструмент за управление на имейли, календари, задачи, контакти и дневници. Над тези основни функции, той също така позволява добавянето на файлове към PST папки, позволявайки на потребителите да поддържат изчерпателен запис на свързаните документи. Aspose.Email опростява процеса на добавяне на файлове към PST папка, като функционира по същия начин, както обработва съобщения, контакти, задачи и дневници.
Следният фрагмент от код илюстрира как да добавите документ към PST папка с Aspose.Email:
from aspose.email.storage.pst import PersonalStorage, FileFormatVersion
# Create a new PST file
personal_storage = PersonalStorage.create(data_dir + "AddFilesToPst_out.pst", FileFormatVersion.UNICODE)
# Add a new folder to store files
folder = personal_storage.root_folder.add_sub_folder("Files")
# Add a file to the PST folder
folder.add_file(data_dir + "FileToBeAddedToPST.txt", "")
Търсене и филтриране на съобщения в PST файлове
Файловете Personal Storage (PST) могат да съдържат голямо количество данни и изискват прилагане на множество филтри, за да се намери информация, съответстваща на определени критерии. С PersonalStorageQueryBuilder клас, Aspose.Email ви позволява да търсите конкретни записи в PST въз основа на зададени критерии за търсене. Можете да търсите съобщения, използвайки параметри като: подател, получател, тема, важност на съобщението, наличие на прикачени файлове, размер на съобщението и дори ID на съобщението. Освен това, PersonalStorageQueryBuilder може да се използва за търсене в подпапки. Следващите раздели предоставят изчерпателно ръководство за търсене в Outlook PST файлове.
Търсене на Outlook съобщения и папки
Следният кодов откъс показва как да използвате PersonalStorageQueryBuilder клас за търсене на съдържание в PST въз основа на различни критерии за търсене. Той специално демонстрира търсене в PST въз основа на:
- Важност на съобщението.
- Клас на съобщението.
- Наличие на прикачени файлове.
- Размер на съобщението.
- Непрочетени съобщения.
- Непрочетени съобщения с прикачени файлове и папки със специфично име на подпапка.
from aspose.email.mapi import MapiMessageFlags
from aspose.email.storage.pst import PersonalStorage, PersonalStorageQueryBuilder, MapiImportance
with PersonalStorage.from_file(data_dir + "my.pst") as personal_storage:
folder = personal_storage.root_folder.get_sub_folder("Inbox")
builder = PersonalStorageQueryBuilder()
# High importance messages
builder.importance.equals(2)
messages = folder.get_contents(builder.get_query())
print("Messages with High Imp:", messages.count)
builder = PersonalStorageQueryBuilder()
builder.message_class.equals("IPM.Note")
messages = folder.get_contents(builder.get_query())
print("Messages with IPM.Note:", messages.count)
builder = PersonalStorageQueryBuilder()
# Messages with attachments AND high importance
builder.importance.equals(2)
builder.has_flags(MapiMessageFlags.HASATTACH)
messages = folder.get_contents(builder.get_query())
print("Messages with atts:", messages.count)
builder = PersonalStorageQueryBuilder()
# Messages with size > 15 KB
builder.message_size.greater(15000)
messages = folder.get_contents(builder.get_query())
print("Messages size > 15 KB:", messages.count)
builder = PersonalStorageQueryBuilder()
# Unread messages
builder.has_no_flags(MapiMessageFlags.READ)
messages = folder.get_contents(builder.get_query())
print("Unread:", messages.count)
builder = PersonalStorageQueryBuilder()
# Unread messages with attachments
builder.has_no_flags(MapiMessageFlags.READ)
builder.has_flags(MapiMessageFlags.HASATTACH)
messages = folder.get_contents(builder.get_query())
print("Unread msgs with atts:", messages.count)
# Folder with name 'SubInbox'
builder = PersonalStorageQueryBuilder()
builder.folder_name.equals("SubInbox")
folders = folder.get_sub_folders(builder.get_query())
print("Folder having subfolder:", folders.count)
builder = PersonalStorageQueryBuilder()
# Folders with subfolders
builder.has_subfolders()
folders = folder.get_sub_folders(builder.get_query())
print("Folders with subfolders:", folders.count)
Търсене с нечувствително към регистъра съвпадение
Като използвате Aspose.Email PersonalStorageQueryBuilder, можете да зададете условия за търсене на имейл съобщения, като игнорирате чувствителността към регистър, което осигурява по-гъвкаво и удобно търсене. Следният примерен код демонстрира как да заредите PST файл, достъпите папка "Inbox" и приложите филтри за търсене без чувствителност към регистъра, за да намерите имейли въз основа на информация за подателя. Тази функция е особено полезна при работа с различно капитализиране в имейл данните.
Търсене на теми чрез множество ключови думи
Извличане на конкретни съобщения или елементи от личен файл за съхранение (PST) или съхранение на съобщения чрез имплементиране на the either(query1, query2) метод на PersonalStorageQueryBuilder class. Приема два параметъра, позволяващи комбиниране на две различни заявки, query1 и query2, и намиране на тема на съобщение, съвпадаща с която и да е от двете зададени думи. Вижте примерния код по-долу:
import aspose.email as ae
builder1 = ae.storage.pst.PersonalStorageQueryBuilder()
builder1.subject.contains("Review") # 'Review' is key word for the search
builder2 = ae.storage.pst.PersonalStorageQueryBuilder()
builder2.subject.contains("Error") # 'Error' is also key word for the search
builder = ae.storage.pst.PersonalStorageQueryBuilder()
# message subjects must contain 'Review' or 'Error' words
builder.either(builder1.get_query(), builder2.get_query())
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
folder = pst.root_folder.get_sub_folder("Inbox")
messages = folder.get_contents(builder.get_query())
for message in messages:
print(f"Message: {message.subject}")
Филтриране на имейли в PST според конкретни критерии
Извличане само на съобщенията, които отговарят на конкретен филтър, като тема, подател или дата, като се използва the MailQuery class. Следният примерен код демонстрира как да се използва библиотеката Aspose.Email за зареждане на PST файл и филтриране на съобщения в конкретна папка, в този случай папка "Inbox":
import aspose.email as ae
# Load the PST file and access a folder
pst = ae.PersonalStorage.from_file("sample.pst")
inbox = pst.root_folder.get_sub_folder("Inbox")
# Create a MailQuery to filter messages by subject
query_builder = ae.MailQueryBuilder()
query_builder.subject.contains("Invoice")
query = query_builder.get_query()
# Enumerate filtered messages
for info in inbox.enumerate_mapi_messages(query):
print("Subject:", info.subject)
Извличане на съобщения по тип
Aspose.Email MessageKind overload позволява да получавате съобщения от конкретен тип, като само имейли, срещи или контакти. Следният примерен код демонстрира как да достъпите и филтрирате специфични типове съобщения от определена папка:
import aspose.email as ae
# Load the PST and target folder
pst = ae.PersonalStorage.from_file("sample.pst")
inbox = pst.root_folder.get_sub_folder("Inbox")
# Retrieve only email messages (not calendar items, contacts, etc.)
for info in inbox.enumerate_mapi_messages(ae.MessageKind.MAPI_MESSAGE):
print("Email Message:", info.subject)
Пагинация при извличане на съобщения за големи PST файлове
Когато работите с папки, съдържащи голям брой съобщения, можете да използвате пагинация, за да зареждате съобщенията на части, като използвате the start_index и count parameters. Следният примерен код демонстрира как да се осъсти достъп и извличане на конкретен диапазон от имейл съобщения от PST файл, вместо всички наведнъж:
import aspose.email as ae
# Load the PST and access the target folder
pst = ae.PersonalStorage.from_file("sample.pst")
inbox = pst.root_folder.get_sub_folder("Inbox")
# Retrieve messages from index 0 to 9
for info in inbox.enumerate_mapi_messages(0, 10):
print("Paged Message:", info.subject)
Актуализиране и организиране на съдържанието на Outlook PST
Преместване на съобщения между папки
Aspose.Email позволява преместване на елементи от изходна папка към друга папка в същия файл за лично съхранение (PST). Това включва:
- Преместване на посочена папка към нова родителска папка.
- Преместване на посочени съобщения в нова папка.
- Преместване на съдържанието към нова папка.
- Преместване на подпапки към нова родителска папка.
Следният кодов откъс показва как да преместите елементи като съобщения и папки от изходна папка към друга папка в същия PST файл.
Актуализиране на свойства на съобщения
Понякога е необходимо да се модифицират определени свойства на съобщения, като промяна на темата, маркиране на важността на съобщението и др. Актуализирането на тези свойства в PST файл може да се постигне чрез използване на FolderInfo.change_messages method, предоставен от Aspose.Email за Python. Тази статия демонстрира процеса на групово актуализиране на свойства на съобщения, позволявайки автоматични корекции в множество съобщения в PST файл. По-долу има примерен код, който илюстрира как да се извършат групови актуализации на различни свойства на съобщения.
from aspose.email.storage.pst import PersonalStorage, PersonalStorageQueryBuilder
from aspose.email.mapi import MapiPropertyTag, MapiProperty, MapiPropertyCollection
pst_file_path = data_dir + "ya4demia04vb.pst"
# Load the Outlook PST file
with PersonalStorage.from_file(pst_file_path) as personal_storage:
# Get the required subfolder
inbox = personal_storage.root_folder.get_sub_folder("Inbox")
# Find messages having From = "someuser@domain.com"
query_builder = PersonalStorageQueryBuilder()
query_builder.from_address.contains("someuser@domain.com")
# Get contents from query
messages = inbox.get_contents(query_builder.get_query())
# Save (MessageInfo, EntryIdString) in a list
change_list = [message_info.entry_id_string for message_info in messages]
# Compose the new properties
updated_properties = MapiPropertyCollection()
updated_properties.add(
MapiPropertyTag.SUBJECT_W,
MapiProperty(MapiPropertyTag.SUBJECT_W, "New Subject".encode("utf-16le"))
)
updated_properties.add(
MapiPropertyTag.IMPORTANCE,
MapiProperty(MapiPropertyTag.IMPORTANCE, bytearray([0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
)
# Update messages having From = "someuser@domain.com" with new properties
inbox.change_messages(change_list, updated_properties)
Модифициране на потребителски MAPI свойства
Понякога може да се наложи да идентифицирате и маркирате елементи, които са били обработени в PST файл. Aspose.Email API предлага решение за тази задача чрез използване на MapiProperty и MapiNamedProperty classes. Тези класове ви позволяват да етикетирате обработените елементи, като им присвоите потребителски свойства. По-долу ще намерите методи, които са особено полезни за изпълнение на този процес на маркиране:
- MapiNamedProperty(long propertyTag, string nameIdentifier, UUID propertyGuid, bytearray[] propertyValue)
- MapiNamedProperty(long propertyTag, long nameIdentifier, UUID propertyGuid, bytearray[] propertyValue)
- FolderInfo.change_messages(MapiPropertyCollection updatedProperties) - променя всички съобщения в папка
- PersonalStorage.change_message(string entryId, MapiPropertyCollection updatedProperties) - променя свойства на съобщението
from uuid import UUID
from aspose.email.storage.pst import PersonalStorage
from aspose.email.mapi import MapiNamedProperty, MapiPropertyCollection
from aspose.email.mapi import MapiPropertyType, MapiProperty, MapiPropertyTag
def generate_named_property_tag(index, data_type):
return (((0x8000 | index) << 16) | data_type) & 0x00000000FFFFFFFF
def run():
# Load the Outlook file
pst_file_path = data_dir + "my.pst"
with PersonalStorage.from_file(pst_file_path) as personal_storage:
test_folder = personal_storage.root_folder.get_sub_folder("Inbox")
# Create the collection of message properties for adding or updating
new_properties = MapiPropertyCollection()
# Normal, Custom, and PidLidLogFlags named properties
mapi_property = MapiProperty(
MapiPropertyTag.ORG_EMAIL_ADDR_W,
"test_address@org.com".encode("utf-16le")
)
named_property1 = MapiNamedProperty(
generate_named_property_tag(0, MapiPropertyType.LONG),
"ITEM_ID",
UUID("00000000-0000-0000-0000-000000000000"),
bytearray([0x7B, 0x00, 0x00, 0x00])
)
named_property2 = MapiNamedProperty(
generate_named_property_tag(1, MapiPropertyType.LONG),
0x0000870C,
UUID("0006200A-0000-0000-C000-000000000046"),
bytearray([0x00, 0x00, 0x00, 0x00])
)
new_properties.add(named_property1.tag, named_property1)
new_properties.add(named_property2.tag, named_property2)
new_properties.add(mapi_property.tag, mapi_property)
test_folder.change_messages(test_folder.enumerate_messages_entry_id(), new_properties)
# Usage
run()
Изтриване на съобщения и папки от Outlook PST файлове
Управлението на съдържанието на Outlook PST файлове често включва премахване на ненужни съобщения, папки или множество елементи едновременно. Aspose.Email за Python чрез .NET предоставя ефективни методи за изтриване на съобщения и папки от PST файл, независимо дали трябва да премахнете отделни имейли, FolderInfo.delete_child_item() method, или извършване на групови изтрития, FolderInfo.delete_child_items() method, за по-добро управление на файловете.
Изтриване на съобщения от PST файлове
Aspose.Email предоставя FolderInfo class за достъп до конкретни папки в PST файл. Следният примерен код показва как да се използва този клас за достъп и изтриване на съобщения от подпапката Sent на преди това зареден или създаден PST файл. Конкретно, извлича броя на съобщенията и изтрива първия елемент в папка "Sent Items".
- PST обект се инициализира, като се отвори файлът "Outlook.pst", разположен в указаната директория, използвайки PersonalStorage.from_file().
- Папката Sent Items се достъпва чрез pst.get_predefined_folder(StandardIpmFolder.SENT_ITEMS).
- След това кодът извлича съдържанието на папка "Sent Items" с folder.get_contents(), брои ги и отпечатва общия брой съобщения в тази папка.
- Кодът достъпва първото съобщение в папка "Sent Items" с msgsColl[0] и го изтрива, като използва folder.delete_child_item(msgInfo.entry_id). Тази функция използва Entry ID на съобщението, за да го премахне от папката.
След изтриване кодът отново брои съобщенията в папка "Sent Items" и отпечатва актуализирания брой.
Изтриване на елементи от PST файлове
В много системи за съобщения или имейл клиенти, всеки елемент (например имейл, среща или задача) получава уникален идентификатор, наречен entry ID. The delete_item(entry_id) метод на FolderInfo class приема това entry ID като параметър и премахва съответния елемент от съхранението на съобщения. Използвайте следния код, за да изтриете елемент от съхранението на съобщения:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
pst.delete_item(entry_id)
Групово изтриване на елементи
API‑то на Aspose.Email може да се използва за масово изтриване на елементи от PST файл. Това се постига чрез използване на delete_child_items() method, който приема списък от Entry ID елементи, отнасящи се до елементите, които да бъдат изтрити. Следният примерен код показва как да изтриете елементи групово от PST файл.
Изтриване на папки от PST файлове
Outlook PST файлове могат да съдържат папки, които вече не са нужни. Aspose.Email за Python чрез .NET позволява да изтриете тези папки или като ги преместите в папка Deleted Items (правейки ги възстановими), или като ги премахнете окончателно. Следващите примери демонстрират двата подхода.
Преместване на папка в Deleted Items (меко изтриване)
Този move_item метод на PersonalStorage class позволява папките да бъдат възстановени по-късно, тъй като не са изтрити окончателно, а се преместят в папка Deleted Items. Следният примерен код показва как да внедрите този метод в python проект:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
deleted_items_folder = pst.get_predefined_folder(ae.storage.pst.StandardIpmFolder.DELETED_ITEMS)
empty_folder = pst.root_folder.get_sub_folder("Empty folder")
some_folder = pst.root_folder.get_sub_folder("Some folder")
pst.move_item(empty_folder, deleted_items_folder)
pst.move_item(some_folder, deleted_items_folder)
Предимството на този метод е, че изтритата папка може лесно да бъде възстановена.
Възстановяване на папка от Deleted Items
Този move_item method позволява да възстановите папка, ако е била погрешно изтрита, като я преместите обратно от Deleted Items към оригиналното й местоположение.
some_folder = pst.root_folder.get_sub_folder("Some folder")
pst.move_item(some_folder, pst.root_folder)
Постоянно изтриване на папка от Deleted Items
Този delete_child_item method може да се използва за всяка папка, ако искате незабавно и постоянно да изтриете подпапка, като заобиколите папка Deleted Items. Следният примерен код показва как да премахнете папката изцяло от Deleted Items, правейки възстановяването невъзможно:
deleted_items_folder.delete_child_item(empty_folder.entry_id)
Постоянно изтриване на папка незабавно
Ако папка трябва да се изтрие без преместване в Deleted Items, the delete_child_item method осигурява незабавно и постоянно премахване.
some_folder = pst.root_folder.get_sub_folder("Some folder")
pst.root_folder.delete_child_item(some_folder.entry_id)