EML と MIME の変換
EML と MIME の変換
Aspose.Email FOSS for .NET には組み込みの MIME パーサーとシリアライザーが含まれているため、標準 .eml ファイル(RFC 5322)と Outlook .msg ファイルを外部依存なしで相互変換できます。System.Net.Mail 参照は不要です。
EML を MapiMessage にロードする
LoadFromEml はファイルパス、ストリーム、またはバイト配列を受け取ります:
using System.IO;
using Aspose.Email.Foss.Msg;
// From file path
var message = MapiMessage.LoadFromEml("incoming.eml");
// From stream
using var stream = File.OpenRead("incoming.eml");
var message2 = MapiMessage.LoadFromEml(stream);
// From byte array
var emlBytes = File.ReadAllBytes("incoming.eml");
var message3 = MapiMessage.LoadFromEml(emlBytes);ロード後、すべての標準フィールドが利用可能です:
Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
Console.WriteLine(message.Recipients.Count);
Console.WriteLine(message.Attachments.Count);
Console.WriteLine(message.HtmlBody);MapiMessage を EML として保存
SaveToEml は MapiMessage を MIME 形式にシリアライズします:
// To file path
message.SaveToEml("output.eml");
// To stream
using var outStream = File.Create("output.eml");
message.SaveToEml(outStream);
// To byte array
byte[] emlData = message.SaveToEml();EML → MSG 変換
完全なEMLからMSGへの変換のためにLoadFromEmlとSaveを組み合わせます:
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.LoadFromEml("incoming.eml");
message.Save("converted.msg");MSG → EML 変換
既存の MSG を読み込み、EML としてシリアライズする:
using var message = MapiMessage.FromFile("original.msg");
message.SaveToEml("exported.eml");往復忠実度
次のフィールドは EML → MSG → EML の往復で保持されます:
- 件名、本文、HTML本文
- 送信者名とメールアドレス
- すべての受信者(To、Cc、Bcc)
- ファイル添付(ファイル名、MIMEタイプ、内容)
- Internet Message-ID
- メッセージ配信時間
// Verify round-trip
var original = MapiMessage.LoadFromEml("test.eml");
original.Save("test.msg");
using var reloaded = MapiMessage.FromFile("test.msg");
reloaded.SaveToEml("roundtrip.eml");
// Compare: original.eml and roundtrip.eml should have
// matching Subject, From, To, and attachment count参照
- MSG ファイルの読み取り — MSG ファイルを読み込み、検査します
- 機能 — 完全な機能リファレンス
- MAPI プロパティ — 低レベルのプロパティアクセス