.NET におけるメールメッセージの解析(Aspose.Email FOSS 使用)
はじめに メールメッセージをプログラムで解析することは、アーカイブツール、コンプライアンスパイプライン、マイグレーションユーティリティにおいて一般的な要件です。Outlook の MSG ファイルは、MAPI プロパティ ストリームを含む Compound File Binary (CFB) コンテナ形式を使用し、EML ファイルは MIME 標準に従います。両形式ともエンコーディング、折りたたみヘッダー、入れ子になった添付ファイルの慎重な取り扱いが必要です。 Aspose.Email FOSS for .NET は、MIT ライセンスの無料 C# ライブラリで、MSG と EML メッセージに対する完全な読み書き API を提供します。.NET 8.0 以上を対象とし、Microsoft Outlook やネイティブ COM 相互運用レイヤーへの依存はありません。このライブラリは aspose.email.foss NuGet パッケージとして提供されています。 本稿では、ライブラリに含まれるメッセージ解析機能を、ディスクからファイルを読み込むところから、個々の MAPI プロパティの抽出やフォーマット間の変換まで順に解説します。 含まれるもの MSG ファイルの読み込み MapiMessage クラスは Outlook MSG ファイルを操作するための主要なエントリーポイントです。ファイルパスまたはストリームからメッセージを読み込むことができ、オプションの strict-validation フラグを使用すると、ファイル内で検出された構造上の問題を表面化させることができます。 // Load an MSG file from disk var message = MapiMessage.FromFile("meeting-invite.msg"); Console.WriteLine($"Subject: {message.Subject}"); Console.WriteLine($"From: {message.SenderName} <{message.SenderEmailAddress}>"); Console.WriteLine($"Date: {message.MessageDeliveryTime}"); Console.WriteLine($"Recipients: {message.Recipients.Count}"); Console.WriteLine($"Attachments: {message.Attachments.Count}"); 返された MapiMessage は、Subject、Body、HtmlBody、SenderName、SenderEmailAddress、InternetMessageId、および MessageDeliveryTime を含む共通フィールドの型付けされたプロパティを公開します。 ...