Penukaran EML dan MIME

Penukaran EML dan MIME

Aspose.Email FOSS untuk .NET termasuk parser dan serializer MIME terbina dalam, jadi anda boleh menukar antara fail .eml standard (RFC 5322) dan fail Outlook .msg tanpa sebarang kebergantungan luaran. Tiada rujukan System.Net.Mail diperlukan.


Muat EML ke dalam MapiMessage

LoadFromEml menerima laluan fail, aliran, atau tatasusunan bait:

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);

Selepas memuatkan, semua medan standard tersedia:

Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
Console.WriteLine(message.Recipients.Count);
Console.WriteLine(message.Attachments.Count);
Console.WriteLine(message.HtmlBody);

Simpan MapiMessage sebagai EML

SaveToEml menserialkan MapiMessage ke format 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();

Penukaran EML → MSG

Gabungkan LoadFromEml dan Save untuk penukaran EML-ke-MSG penuh:

using System.IO;
using Aspose.Email.Foss.Msg;

var message = MapiMessage.LoadFromEml("incoming.eml");
message.Save("converted.msg");

MSG → EML Penukaran

Muat MSG sedia ada dan serikannya sebagai EML:

using var message = MapiMessage.FromFile("original.msg");
message.SaveToEml("exported.eml");

Kesetiaan Pusingan Balik

Medan berikut dipelihara melalui perjalanan pusingan EML → MSG → EML:

  • Subjek, badan, dan badan HTML
  • Nama penghantar dan alamat e‑mel
  • Semua penerima (Kepada, Cc, Bcc)
  • Lampiran fail dengan nama fail, jenis MIME, dan kandungan
  • Internet Message-ID
  • Masa penghantaran mesej
// 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

Lihat Juga

 Bahasa Melayu