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‑to‑MSG 변환을 위해 LoadFromEmlSave를 결합하십시오:

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

또 보기

 한국어