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

Файлы PST (Личная таблица хранения) служат важным компонентом для управления данными Outlook, обеспечивая хранение электронных писем, контактов, календарей и других элементов. В области разработки на C# .NET процесс создания и управления файлами хранилища имеет решающее значение для различных приложений.

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

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

Чтобы работать с файлами хранилища в формате PST в C#, мы будем использовать Aspose.Email для .NET. Эта всеобъемлющая библиотека предназначена для разработчиков .NET и предлагает мощные инструменты для обработки данных, связанных с электронной почтой. С помощью интуитивно понятных API разработчики могут без труда создавать, читать и манипулировать структурами хранилища PST, включая добавление папок, подпапок и стандартных папок Outlook. Библиотека упрощает обработку сообщений электронной почты, предоставляя функциональные возможности для парсинга, создания, отправки, получения и конвертации электронных писем в различных форматах, таких как MSG, EML и MHTML. Aspose.Email позволяет разработчикам эффективно управлять задачами, связанными с электронной почтой, в своих приложениях .NET, повышая функциональность и производительность, обеспечивая при этом превосходные возможности обработки электронной почты для конечных пользователей.

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

PM> Install-Package Aspose.Email

Создание минимального пустого хранилища PST

Чтобы начать, давайте создадим пустое личное хранилище. Это включает в себя инициализацию файла PST без каких-либо элементов. Пример кода ниже покажет вам, как настроить основную структуру для нового файла с именем “sample.pst” с версией формата файла Unicode. Чтобы создать новый файл PST, используйте метод PersonalStorage.Create.

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

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

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

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

Добавление стандартных папок, таких как Входящие, Исходящие, Отправленные элементы, Черновики и т.д., с помощью Aspose.Email является простым. Следующий пример кода демонстрирует, как создать новую папку с именем “Входящие” в PST с именем “sample.pst”. Код использует класс PersonalStorage для открытия файла PST, а затем вызывает метод CreatePredefinedFolder() для создания стандартной папки для входящих элементов. Папка создается с использованием предопределенного типа папки StandardIpmFolder.inbox, который обычно представляет собой папку Входящие в почтовых клиентах.

  1. Инициализируйте новый объект PersonalStorage.
  2. Используйте метод CreatePredefinedFolder экземпляра PersonalStorage (pst), чтобы создать стандартную папку с именем “Входящие”, указав тип папки StandardIpmFolder.Inbox, чтобы указать, что это папка “Входящие”.

Следующий список включает стандартные папки, которые можно добавить в новый файл PST:

  • Входящие
  • Отправленные элементы
  • Календарь
  • Контакты
  • Журнал
  • Заметки
  • Задачи
  • Проблемы синхронизации
  • Спам
  • RSS ленты

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

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

  1. Инициализируйте новый объект PersonalStorage.
  2. Используйте метод AddSubFolder свойства RootFolder экземпляра PersonalStorage, чтобы создать пользовательскую папку.

После создания “Пользовательской папки” вы можете снова использовать метод AddSubFolder, чтобы создать подпапки внутри нее. Укажите желаемое имя для подпапки в качестве параметра метода AddSubFolder.

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

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

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

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

  1. Инициализируйте новый объект PersonalStorage.
  2. Получите папку Входящие, используя метод GetSubFolder на свойстве RootFolder экземпляра PersonalStorage.
  3. Создайте новый объект MapiMessage.
  4. Используйте метод AddMessage на объекте inboxFolder, чтобы добавить вновь созданное сообщение (message) в папку Входящие.

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

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

  1. Инициализируйте новый объект PersonalStorage.
  2. Используйте метод CreatePredefinedFolder, чтобы создать стандартную папку, указав тип папки StandardIpmFolder.Contacts, чтобы указать, что это папка Контакты.
  3. Используйте метод MapiContact.FromVCard, чтобы загрузить контакт из VCF файла. Этот метод создает объект MapiContact, представляющий информацию о контакте.
  4. Используйте метод AddMapiMessageItem, чтобы добавить загруженный контакт в папку Контакты.

Заключение

В этом учебном пособии мы рассмотрели, как создавать файлы PST с помощью C# .NET с использованием библиотеки Aspose.Email. От создания пустого хранилища PST до добавления папок, подпапок и различных элементов Outlook, библиотека предоставляет всеобъемлющий набор функций для манипуляции файлами PST. Интеграция этих функциональных возможностей в ваши приложения на C# .NET позволяет эффективно управлять данными Outlook, повышая надежность и универсальность ваших программных решений.

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

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

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

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

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