EML ve MIME Dönüştürme

EML ve MIME Dönüştürmesi

Aspose.Email FOSS for .NET, yerleşik bir MIME ayrıştırıcı ve serileştirici içerir, böylece standart .eml dosyaları (RFC 5322) ile Outlook .msg dosyaları arasında dış bağımlılık olmadan dönüştürme yapabilirsiniz. System.Net.Mail referansına gerek yok.


EML’yi MapiMessage içine yükle

LoadFromEml bir dosya yolu, akış veya bayt dizisini kabul eder:

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

Yükleme tamamlandıktan sonra, tüm standart alanlar kullanılabilir:

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

MapiMessage’ı EML olarak kaydet

SaveToEml bir MapiMessage‘yi MIME formatına serileştirir:

// 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 Dönüşümü

Tam bir EML’den MSG’ye dönüşüm için LoadFromEml ve Save birleştirin:

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

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

MSG → EML Dönüştürme

Mevcut bir MSG dosyasını yükleyin ve EML olarak serileştirin:

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

Gidiş-Dönüş Doğruluğu

Aşağıdaki alanlar EML → MSG → EML dönüşlerinde korunur:

  • Konu, gövde ve HTML gövde
  • Gönderen adı ve e-posta adresi
  • Tüm alıcılar (To, Cc, Bcc)
  • Dosya ekleri dosya adı, MIME türü ve içerik ile
  • Internet Message-ID
  • Mesaj teslim zamanı
// 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

Ayrıca Bakınız

 Türkçe