Создание PST файлов в Python

Когда дело доходит до управления электронной почтой, файлы PST (Personal Storage Table) играют ключевую роль в хранении и организации данных электронной почты.

В этом руководстве мы исследуем, как создавать новые PST файлы в Python с использованием прогрессивного API. Мы рассмотрим создание пустого хранилища, добавление папок и подпапок, включение стандартных и обычных папок, а также добавление электронных писем и элементов Outlook в PST файл.

Python API для создания и наполнения PST файлов

Для работы с файлами хранения в формате PST в Python мы будем использовать Aspose.Email для Python. Это мощный API, который предоставляет разработчикам инструменты для работы с форматами электронной почты, включая файлы PST, в их Python приложениях. С Aspose.Email вы можете легко создавать, манипулировать и управлять сообщениями электронной почты и файлами хранения, что делает его незаменимым инструментом для задач, связанных с электронной почтой.

Чтобы воспользоваться мощностью API, вы можете скачать его DLL или установить его из PyPI.

Создание нового PST файла

Новый PST файл можно легко создать с помощью метода PersonalStorage.create(). Следующий фрагмент кода демонстрирует, как создать новый файл хранения с именем “output.pst” с использованием Aspose.Email:

  1. Импортируйте необходимые модули из Aspose.Email.
  2. Определите путь для нового PST файла.
  3. Создайте новый пустой PST файл с помощью метода ‘PersonalStorage.create()’, передав путь к файлу и указав формат Unicode. Это создает пустой файл, готовый к дальнейшей настройке, такой как добавление папок, сообщений или контактов.
pst_path = "output.pst"
pst = PersonalStorage.create(pst_path, PersonalStorage.UNICODE)

Примечание: минимальный размер PST составляет 256 Кб и содержит корневую папку и папку “Удаленные элементы”.

Добавление папок и подпапок

После того, как у нас есть новый пустой файл хранения, следующим шагом является добавление папок и подпапок для эффективной организации наших данных. Рассмотрите следующие подразделы и попробуйте следующие примеры кода для выполнения задачи.

Добавление стандартных папок

Общепринятой практикой является включение стандартных папок, таких как “Входящие”, “Отправленные”, “Контакты” или “Календарь”, при работе с файлами PST. Aspose.Email для Python упрощает эту задачу, предоставляя простые в использовании методы. Следующий фрагмент кода демонстрирует, как добавить стандартные папки в файл хранения с использованием Python API:

  1. Создайте новый PST файл с помощью метода PersonalStorage.create(), как показано выше.
  2. Создайте стандартную папку “Входящие” с помощью метода create_predefined_folder(), передав имя “Входящие” и указав тип как StandardIpmFolder.INBOX. Это гарантирует, что файл содержит стандартную папку “Входящие”, готовую к использованию.
inbox_folder = pst.create_predefined_folder("Inbox", PersonalStorage.StandardIpmFolder.INBOX)

Стандартные папки, такие как “Удаленные элементы”, “Календарь”, “Контакты”, “Журнал”, “Заметки”, “Задачи”, “Проблемы синхронизации”, “Спам”, “RSS ленты”, могут быть легко добавлены в новый PST файл:

Стандартные папки

Добавление обычных папок

Кроме стандартных папок, таких как “Входящие” и “Отправленные”, Aspose.Email для Python позволяет вам создавать пользовательские или обычные папки в файлах PST. Они обеспечивают гибкость в организации и категоризации данных электронной почты в соответствии с конкретными требованиями. Следующий пример кода демонстрирует, как добавить обычные папки с использованием Aspose.Email:

  1. Создайте новое хранилище с помощью метода PersonalStorage.create().
  2. Используйте метод add_sub_folder(), чтобы создать пользовательскую папку с именем “SomeFolder” в корневой папке файла PST.
  3. Создайте подпапку с именем “SubFolder” в “SomeFolder”, предоставляя иерархическую структуру для эффективной организации данных электронной почты.

После создания пользовательской папки вы можете снова использовать метод ‘add_sub_folder()’, чтобы создать подпапки внутри нее. Укажите желаемое имя для подпапки в качестве параметра для метода.

# Create a PST file
with PersonalStorage.create("sample.pst", FileFormatVersion.UNICODE) as pst:
# Create a custom folder
some_folder = pst.root_folder.add_sub_folder("SomeFolder")
# Create a subfolder to the custom folder
sub_folder = some_folder.add_sub_folder("SubFolder")

Включив обычные папки в PST файлы, разработчики могут адаптировать архитектуру хранения электронной почты в соответствии с конкретными потребностями приложения.

Добавление электронных писем и элементов Outlook

С установленной структурой мы теперь можем наполнить наш PST файл электронными письмами и другими элементами Outlook. Это включает в себя создание электронных писем, встреч, контактов, задач и многое другое, и добавление их в соответствующие папки внутри файла. Рассмотрим несколько примеров.

Добавление новых электронных писем

Следующий пример кода покажет вам, как добавить новое электронное письмо в папку “Входящие” в файле PST. Код включает следующие шаги:

  1. Создайте новое хранилище с именем “sample.pst” в формате Unicode с помощью метода PersonalStorage.create().
  2. Доступ к папке “Входящие” в файле хранения с использованием метода get_sub_folder().
  3. Создайте новое электронное сообщение с использованием конструктора MapiMessage(), указав отправителя, получателя, тему и текст сообщения.
  4. Добавьте только что созданное сообщение в папку “Входящие” в файле PST с помощью метода add_message().
# Create a PST file
with PersonalStorage.create("sample.pst", FileFormatVersion.UNICODE) as pst:
# Access the folder to add items
inbox_folder = pst.root_folder.get_sub_folder("Inbox")
# Create a new message
message = MapiMessage("from@example.com", "to@example.com", "Subject", "Body")
# Add the message to the Inbox folder
inbox_folder.add_message(message)

Добавление элементов Outlook

Следующий пример кода позволяет вам добавить контакт в новый PST файл в качестве примера. Он описывает процесс создания нового файла личного хранения, добавления стандартной папки “Контакты” в него, загрузки контакта из файла VCF и добавления контакта в папку “Контакты”. Код включает следующие шаги:

  1. Создайте новое хранилище с именем “sample.pst” в формате Unicode с помощью метода PersonalStorage.create().
  2. Создайте стандартную папку с именем “Мои контакты” в файле хранения с использованием метода create_predefined_folder(), указав тип как StandardIpmFolder.Contacts.
  3. Загрузите контакт из файла VCF (vCard) с использованием метода from_v_card(). Этот метод анализирует файл VCF и генерирует объект MapiContact, представляющий информацию о контакте.
  4. Добавьте контакт в папку “Мои контакты” в файле PST с помощью метода add_mapi_message_item().
# Create a PST file
with PersonalStorage.create("sample.pst", FileFormatVersion.UNICODE) as pst:
# Create a standard folder (Contacts)
contacts_folder = pst.create_predefined_folder("My Contacts", StandardIpmFolder.CONTACTS)
# Load a contact from vcf file
contact = MapiContact.from_v_card("Contact.vcf")
# Add the contact to the folder
contacts_folder.add_mapi_message_item(contact)

Заключение

В этом учебном пособии мы исследовали, как создавать новые PST файлы в Python с использованием прогрессивного API, предоставленного Aspose.Email. Мы рассмотрели различные аспекты, включая создание пустого PST хранилища, добавление папок и подпапок, включение стандартных и обычных папок, а также добавление электронных писем и элементов Outlook в файл хранения.

С помощью Aspose.Email для Python через .NET создание PST файлов программно становится простой задачей. Попробуйте это в ваших проектах на Python и упрощайте свои рабочие процессы, связанные с электронной почтой, уже сегодня!

Кроме того, библиотека предлагает широкий спектр возможностей для создания, извлечения, разбора, конвертации и манипулирования электронными письмами, поддерживаемыми всесторонней документацией и примерами кода для упрощения процесса интеграции, что облегчает разработчикам реализацию решений, связанных с электронной почтой, в своих приложениях на .NET.

Вместе с продвинутым API вы можете получить непрерывный доступ к бесплатным ресурсам:

  • форум поддержки - огромное сообщество, чтобы получить ответы на все ваши вопросы
  • блог - бесценная информация о новых функциях
  • документация - учебные пособия, примеры кода и лучшие практики с доступом к API ссылкам
  • бесплатные приложения для просмотра или конвертации, объединения или разбора электронных писем, анализа заголовков, добавления водяного знака и многого другого

Aspose.Email гарантирует, что разработчики имеют ресурсы, необходимые для преодоления любых трудностей и максимизации потенциала API в своих приложениях.

Смотрите также