C#.NETのThunderbirdストレージでのメッセージの書き込みと読み取り

Thunderbirdは、複数の電子メールサーバーを構成し、それらの電子メールメッセージにアクセスできるオープンソースの電子メールクライアントアプリケーションです。これにより、複数のアカウントからのメールを1か所で管理できるようになります。場合によっては、プログラムでThunderbirdストレージに電子メールメッセージを作成してアクセスする必要があります。したがって、この記事では、C#.NETのThunderbirdストレージでメッセージを読み書きする方法を学習します。

Thunderbirdストレージでメッセージを読み書きするためのC#.NET API

Thunderbirdストレージでメールメッセージを読み書きするには、Aspose.Email for.NETを使用します。これは、メールを操作し、Thunderbird、Outlookなどの一般的なメールクライアントを操作できるメール処理APIです。次のコマンドを使用して、APIのDLLをダウンロードするか、NuGetからインストールできます。 。

PM> Install-Package Aspose.Email

C#.NETのThunderbirdStorageにメッセージを書き込む

Aspose.Email for .NETを使用すると、新しいメッセージを作成して、数ステップでThunderbirdのストレージに保存できます。以下は、C#でこの操作を実行するための手順です。

  • まず、MBOXファイルをFileStreamオブジェクトにロードします。
  • 次に、MboxrdStorageWriterのインスタンスを作成し、ストリームで初期化します。
  • その後、新しいMailMessageを作成し、そのプロパティを設定します。
  • MboxrdStorageWriter.WriteMessage(MailMessage)メソッドを使用してストレージにメッセージを書き込みます。
  • 最後に、ライターを破棄してストリームを閉じます。

次のコードサンプルは、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#でThunderbirdStorageからメッセージを読む

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.Emailfor.NETを使用できます。

結論

Thunderbirdを使用すると、1つの場所で複数のアカウントからの電子メールメッセージにアクセスできます。この記事では、C#.NETのThunderbirdストレージにメッセージを書き込む方法を学習しました。また、プログラムでThunderbirdストレージからメッセージを読み取る方法も確認しました。それとは別に、ドキュメントにアクセスして、Aspose.Emailfor.NETの他の機能を調べることができます。ご不明な点がございましたら、フォーラムに投稿してください。

関連項目