在 C# .NET 中在 Thunderbird 存儲上寫入和讀取消息

Thunderbird 是一個開源電子郵件客戶端應用程序,可讓您配置多個電子郵件服務器並訪問它們的電子郵件消息。這使您可以在一個地方管理來自多個帳戶的電子郵件。在某些情況下,您可能需要以編程方式在 Thunderbird 存儲中創建和訪問電子郵件消息。因此,在本文中,您將學習如何使用 C# .NET 在 Thunderbird 存儲上寫入和讀取消息。

用於在 Thunderbird 存儲中寫入和讀取消息的 C# .NET API

要在 Thunderbird 存儲中寫入和讀取電子郵件消息,我們將使用 Aspose.Email for .NET。它是一個電子郵件處理 API,可讓您處理電子郵件並使用 Thunderbird、Outlook 等流行的電子郵件客戶端。您可以 下載 API 的 DLL 或使用以下命令從 NuGet 安裝它.

PM> Install-Package Aspose.Email

在 C# .NET 中寫關於 Thunderbird 存儲的消息

您可以使用 Aspose.Email for .NET 創建新郵件並將它們存儲在 Thunderbird 的存儲中,只需幾個步驟。以下是在 C# 中執行此操作的步驟。

以下代碼示例顯示瞭如何在 C# .NET 中將消息寫入 Thunderbird 存儲。

// 使用 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();

在 C# 中從 Thunderbird 存儲中讀取消息

要從 Thunderbird 存儲中讀取消息,我們需要使用 MboxrdStorageReader 類加載存儲文件。以下是在 C# 中從 Thunderbird 讀取消息的步驟。

  • 首先,將 MBOX 文件加載到 FileStream 對像中。
  • 然後,創建一個 MboxrdStorageReader 的實例來讀取存儲文件。
  • 之後,使用 MboxrdStorageReader.ReadNextMessage() 方法讀取第一條消息。
  • 然後,啟動一個循環以遍歷所有消息。
  • 閱讀每條消息並在需要時將其保存在磁盤上。
  • 最後,在最後處理讀者。

以下代碼示例展示瞭如何使用 C# 從 Thunderbird 存儲中讀取消息。

// 使用 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 for .NET。

結論

使用 Thunderbird,您可以在一個位置訪問來自多個帳戶的電子郵件。在本文中,您了解瞭如何使用 C# .NET 將消息寫入 Thunderbird 存儲。此外,您還了解瞭如何以編程方式從 Thunderbird 存儲中讀取消息。除此之外,您可以訪問 文檔 來探索 Aspose.Email for .NET 的其他功能。如果您有任何問題,可以發帖到我們的 論壇

也可以看看