Chuyển đổi EML và MIME
Chuyển đổi EML và MIME
Aspose.Email FOSS for .NET bao gồm một bộ phân tích và tuần tự hoá MIME tích hợp, vì vậy bạn có thể chuyển đổi giữa các tệp .eml tiêu chuẩn (RFC 5322) và các tệp Outlook .msg mà không cần bất kỳ phụ thuộc bên ngoài nào. Không cần tham chiếu System.Net.Mail.
Tải EML vào MapiMessage
LoadFromEml chấp nhận một đường dẫn tệp, luồng, hoặc mảng byte:
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);Sau khi tải, tất cả các trường tiêu chuẩn đều có sẵn:
Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
Console.WriteLine(message.Recipients.Count);
Console.WriteLine(message.Attachments.Count);
Console.WriteLine(message.HtmlBody);Lưu MapiMessage dưới dạng EML
SaveToEml chuỗi hoá một MapiMessage sang định dạng 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();Chuyển đổi EML → MSG
Kết hợp LoadFromEml và Save để thực hiện chuyển đổi EML sang MSG đầy đủ:
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.LoadFromEml("incoming.eml");
message.Save("converted.msg");Chuyển đổi MSG → EML
Tải một MSG hiện có và chuyển đổi thành EML:
using var message = MapiMessage.FromFile("original.msg");
message.SaveToEml("exported.eml");Độ trung thực vòng quay
Các trường sau được giữ nguyên qua các vòng quay EML → MSG → EML:
- Chủ đề, nội dung và nội dung HTML
- Tên người gửi và địa chỉ email
- Tất cả người nhận (To, Cc, Bcc)
- Tệp đính kèm với tên tệp, loại MIME và nội dung
- Internet Message-ID
- Thời gian giao nhận tin nhắn
// 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 countXem thêm
- Đọc tệp MSG — Tải và kiểm tra các tệp MSG
- Tính năng — Tham chiếu đầy đủ các tính năng
- Thuộc tính MAPI — Truy cập thuộc tính cấp thấp