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の他の機能を調べることができます。ご不明な点がございましたら、フォーラムに投稿してください。