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 변환을 위해 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또 보기
- Reading MSG Files — MSG 파일을 로드하고 검사합니다
- Features — 전체 기능 참조
- MAPI Properties — 저수준 속성 액세스