Запись и чтение сообщений в хранилище Thunderbird на C# .NET

Thunderbird — клиентское приложение электронной почты с открытым исходным кодом, позволяющее настраивать несколько почтовых серверов и получать доступ к их сообщениям электронной почты. Это позволяет вам управлять электронной почтой из нескольких учетных записей в одном месте. В некоторых случаях вам может потребоваться программно создавать и получать доступ к сообщениям электронной почты в хранилище Thunderbird. Соответственно, в этой статье вы узнаете, как писать и читать сообщения в хранилище Thunderbird на C# .NET.

C# .NET API для записи и чтения сообщений в хранилище Thunderbird

Чтобы писать и читать сообщения электронной почты в хранилище Thunderbird, мы будем использовать Aspose.Email для .NET. Это API обработки электронной почты, который позволяет вам манипулировать электронной почтой и работать с популярными почтовыми клиентами, такими как Thunderbird, Outlook и т. д. Вы можете скачать библиотеку DLL API или установить ее из NuGet с помощью следующей команды. .

PM> Install-Package Aspose.Email

Напишите сообщение в хранилище Thunderbird на C# .NET

Вы можете создавать новые сообщения и сохранять их в хранилище Thunderbird за несколько шагов, используя Aspose.Email для .NET. Ниже приведены шаги для выполнения этой операции на C#.

  • Сначала загрузите файл MBOX в объект FileStream.
  • Затем создайте экземпляр MboxrdStorageWriter и инициализируйте его потоком.
  • После этого создайте новый MailMessage и задайте его свойства.
  • Записать сообщение в хранилище методом MboxrdStorageWriter.WriteMessage(MailMessage).
  • Наконец, избавьтесь от модуля записи и закройте поток.

В следующем примере кода показано, как написать сообщение в хранилище Thunderbird на C# .NET.

// Откройте файл хранилища с помощью FileStream
FileStream stream = new FileStream("ExampleMbox.mbox", FileMode.Open, FileAccess.Write);

// Инициализируйте MboxStorageWriter и передайте ему поток
MboxrdStorageWriter writer = new MboxrdStorageWriter(stream, false);

// Подготовьте новое сообщение, используя класс MailMessage.
MailMessage message = new MailMessage("from@domain.com", "to@domain.com", Guid.NewGuid().ToString(), "added from Aspose.Email");
message.IsDraft = false;

// Добавить это сообщение в хранилище
writer.WriteMessage(message);

// Закрыть все связанные потоки
writer.Dispose();
stream.Close();

Чтение сообщений из хранилища Thunderbird на C#

Чтобы прочитать сообщения из хранилища Thunderbird, нам нужно загрузить файл хранилища с помощью класса MboxrdStorageReader. Ниже приведены шаги для чтения сообщений из Thunderbird на C#.

  • Сначала загрузите файл MBOX в объект FileStream.
  • Затем создайте экземпляр MboxrdStorageReader для чтения файла хранилища.
  • После этого прочитайте первое сообщение методом MboxrdStorageReader.ReadNextMessage().
  • Затем запустите цикл для перебора всех сообщений.
  • Прочтите каждое сообщение и при необходимости сохраните его на диск.
  • Наконец, утилизируйте ридер в конце.

В следующем примере кода показано, как читать сообщения из хранилища Thunderbird на C#.

// Откройте файл хранилища с помощью FileStream
FileStream stream = new FileStream("ExampleMbox.mbox", FileMode.Open, FileAccess.Read);

// Создайте экземпляр класса MboxrdStorageReader и передайте поток
MboxrdStorageReader reader = new MboxrdStorageReader(stream, false);

// Начать читать сообщения
MailMessage message = reader.ReadNextMessage();

// Читать все сообщения в цикле
while (message != null)
{
    // Манипулировать сообщением - показать содержимое
    Console.WriteLine("Subject: " + message.Subject);
    
    // Сохраните это сообщение в формате EML или MSG.
    message.Save(message.Subject + ".eml", SaveOptions.DefaultEml);
    message.Save(message.Subject + ".msg", SaveOptions.DefaultMsgUnicode);

    // Получить следующее сообщение
    message = reader.ReadNextMessage();
}

// Закройте потоки
reader.Dispose();
stream.Close();

Получите бесплатную лицензию API

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

Вывод

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

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