
Разнообразие почтовых клиентов и платформ часто приводит к созданию различных форматов хранения электронной почты. С одной стороны, эти форматы могут представлять собой проблему при парсинге содержимого. С другой стороны, они незаменимы при хранении данных или восстановлении их в случае сбоя веб-сервиса. В этой статье мы подробно рассмотрим каждый из этих форматов и продемонстрируем, как Aspose.Email может быть использован для извлечения, перечисления и получения содержимого электронной почты пяти основных форматов файлов.
C# API для обработки файлов хранения
Для обработки файлов хранения мы собираемся использовать универсальный API, разработанный для упрощения сложных задач и взаимодействий, связанных с электронной почтой, предоставляя комплексное решение для управления электронной почтой. Aspose.Email для .NET позволяет разработчикам создавать приложения, которые беспрепятственно взаимодействуют с данными электронной почты в различных форматах, таких как PST, OST, MBOX, EML, MSG и других. С его богатым набором функций и удобными методами манипуляция, извлечение и управление данными электронной почты, хранящимися в файлах, становится простым и интуитивно понятным. Чтобы воспользоваться мощью API, скачайте его DLL или установите из NuGet, используя следующую команду:
PM> Install-Package Aspose.Email
Обработка файлов хранения различных типов
Чтение файлов PST (Личная таблица хранения)
PST - это формат файла, используемый Microsoft Outlook для хранения электронных писем, контактов, календарей и других данных. Aspose.Email упрощает работу с файлами PST, предоставляя методы для извлечения и получения элементов, таких как электронные письма, вложения и структуры папок. Используя библиотеку, разработчики могут программно получать доступ к содержимому PST, искать конкретные элементы и экспортировать их в различные форматы. В приведенном примере кода с шагами ниже вы увидите, как читать файлы в формате PST:
- Для начала загрузите файл pst, используя метод FromFile класса PersonalStorage.
- Получите доступ к папке “Входящие” внутри PST, используя метод GetSubfolder() свойства RootFolder объекта pst.
- Переберите каждое сообщение в папке с помощью метода EnumerateMessages() объекта папки.
- Извлеките сообщение, используя метод ExtractMessage() объекта pst, передавая свойство EntryIdString каждого объекта msgInfo.
- Получите доступ к содержимому сообщения:
- Получите тему сообщения, используя свойство Subject объекта msg.
- Получите адрес отправителя сообщения, используя свойство SenderEmailAddress объекта msg.
- Получите текст сообщения, используя свойство Body объекта msg.
Чтение файлов OST (Таблица хранения Outlook в оффлайне)
Файлы OST служат оффлайн-копией данных почтового ящика из Microsoft Exchange. Aspose.Email позволяет извлекать данные из файлов OST, позволяя разработчикам получать доступ к электронным письмам, папкам и вложениям. Это особенно полезно при создании решений для резервного копирования или миграции данных между различными платформами. Набор функций, используемых для парсинга файлов OST, идентичен тому, который используется для PST, поэтому вы можете использовать приведенный выше пример кода, указав правильный путь к файлу OST.
Чтение файлов OLM (Архив Outlook для Mac)
OLM - это формат хранения, используемый Microsoft Outlook для Mac для хранения электронных писем, контактов и других данных. С помощью Aspose.Email разработчики могут извлекать содержимое из файлов OLM, включая электронные письма и вложения. Эта функциональность ценна для миграции данных между платформами или для создания систем резервного копирования. Следующий пример кода и шаги покажут вам, как использовать API для парсинга файлов Outlook для Mac:
- Создайте экземпляр класса OlmStorage и загрузите файл OLM с помощью конструктора.
- Получите доступ к папке “Входящие” внутри OLM, используя метод GetFolder() объекта olm, передавая имя папки как “Входящие” и указывая на создание папки, если она не существует.
- Переберите каждое сообщение в папке с помощью метода EnumerateMessages() объекта папки.
- Извлеките сообщение, используя метод ExtractMapiMessage() объекта olm, передавая объект msgInfo.
- Получите доступ к содержимому сообщения:
- Получите тему сообщения, используя свойство Subject объекта msg.
- Получите адрес отправителя сообщения, используя свойство SenderEmailAddress объекта msg.
- Получите текст сообщения, используя свойство Body объекта msg.
Чтение файлов MBOX (Почтовый ящик)
MBOX - это широко используемый формат для хранения электронных сообщений. Он поддерживается многими почтовыми клиентами и платформами. Aspose.Email позволяет извлекать и получать доступ к электронным письмам и вложениям из файлов MBOX, позволяя разработчикам работать с данными электронной почты программно. Попробуйте следующий фрагмент кода для парсинга файлов mbox:
- Загрузите файл MBOX, используя метод CreateReader() класса MboxStorageReader с MboxLoadOptions.
- Переберите каждое сообщение в mbox, используя метод EnumerateMessageInfo() объекта mbox.
- Извлеките содержимое сообщения из mbox, используя метод ExtractMessage() объекта mbox, передавая EntryId и EmlLoadOptions.
- Получите доступ к содержимому сообщения:
Чтение файлов TGZ (Сжатый архив Tar)
TGZ - это сжатый архивный формат, часто используемый для хранения данных резервной копии электронной почты в почтовом клиенте Zimbra. Aspose.Email позволяет извлекать содержимое электронной почты из файлов TGZ, что позволяет получать доступ и манипулировать данными электронной почты, содержащимися в этих архивах. Следующий фрагмент кода и шаги покажут вам, как читать файлы tgz:
- Создайте экземпляр класса TgzReader и загрузите файл TGZ с помощью конструктора.
- Переберите каждый элемент в папке “Входящие”, используя метод ReadNextMessage() объекта папки.
- Извлеките содержимое сообщения из каждого элемента, используя свойство CurrentMessage.
- Выполните необходимые действия с извлеченным содержимым сообщения.
Заключение
В этой статье мы изучили, как программно обрабатывать файлы хранения самых популярных форматов на C#. Наши интуитивно понятные примеры кода показали, как реализовать базовые возможности в вашем проекте. Загрузка, перечисление и доступ к содержимому файлов хранения теперь проще с Aspose.Email для .NET. API предоставляет вам бесшовный способ интеграции функциональности, связанной с электронной почтой, в ваши приложения .NET. Узнайте больше о том, что библиотека может предложить вам из нашей документации. Не стесняйтесь обращаться к нам на нашем бесплатном форуме поддержки, если вам нужна помощь или совет.