1. 제품
  2.   Aspose.Email
  3.   Aspose.Email FOSS for .NET

Aspose.Email FOSS for .NET

Outlook MSG 파일, CFB 컨테이너 및 EML 메시지를 .NET에서 읽고, 생성하고, 처리합니다 — 무료이며 오픈 소스, Microsoft Outlook에 의존하지 않습니다.

MSG, CFB 및 EML 파일용 오픈소스 .NET 라이브러리

Aspose.Email FOSS for .NET은(는) Microsoft Outlook .msg 파일, Compound File Binary (CFB) 컨테이너 및 EML 메시지를 다루기 위한 MIT 라이선스, 의존성 없는 C# 라이브러리입니다. 단일 NuGet 패키지를 추가하면 Microsoft Outlook이나 어떤 독점 런타임도 설치하지 않고 즉시 이메일 메시지를 읽고, 만들고, 처리할 수 있습니다.

라이브러리는 두 가지 수준의 접근을 제공합니다. 낮은 수준에서는 CfbReaderCfbWriter가 CFB 바이너리 컨테이너에 대한 완전한 제어를 제공하며 — 디렉터리 항목을 탐색하고, 스토리지 노드와 스트림 데이터를 읽고 쓰며, 원시 섹터 레이아웃을 검사합니다. MsgReaderMsgWriter는 CFB 위에 있는 MSG 형식을 처리하여 MAPI 속성 스트림, 수신자 테이블 및 첨부 파일 하위 스토리지를 노출합니다. 높은 수준에서는 MapiMessage를 사용하여 처음부터 새 메시지를 만들고, 제목, 본문, 발신자 및 수신자를 읽으며, 첨부 파일을 관리하고, 내장된 MIME 구현을 통해 MSG와 EML 형식 간에 변환할 수 있습니다.

라이브러리는 .NET 8.0 이상을 대상으로 하며 네이티브 종속성이 없어 Windows, Linux, macOS, Docker 컨테이너 및 서버리스 함수에 적합합니다. 추가 기능 및 상업적 지원은 Aspose.Email for .NET을(를) 참조하십시오.

CFB 컨테이너 읽기 및 쓰기

  • Open CFB files: 파일 경로, 스트림 또는 바이트 배열에서 기존 CFB 컨테이너를 CfbReader.FromFile(), CfbReader.FromStream(), 또는 new CfbReader(data)를 통해 로드합니다.
  • Traverse the directory tree: IterStorages(), IterStreams(), IterChildren(), 및 IterTree()을 사용하여 스토리지, 스트림 및 자식을 반복합니다.
  • Resolve paths: ResolvePath(names)을 사용해 중첩된 스토리지 계층을 탐색하여 이름 체인으로 특정 스트림을 찾습니다.
  • Write CFB containers: CfbDocument을 사용해 CFB 문서를 프로그래밍 방식으로 구축하고 CfbWriter.ToBytes() 또는 CfbWriter.WriteFile()을 통해 바이트 또는 파일로 직렬화합니다.
  • Add storages and streams: 직렬화 전에 원하는 스토리지 노드에 CfbStorageCfbStream 노드를 첨부합니다.

CFB 접근을 사용하는 곳

  • MSG 파일 검사: CFB는 Outlook .msg 파일을 위한 컨테이너 형식입니다. 직접적인 CF B 접근은 법의학 검사를 가능하게 하고 수리합니다.
  • ** 사용자 정의 바이너리 형식:** 데이터 저장용 CFB를 사용하는 모든 레거시 애플리케이션은 COM 의존 없이 읽을 수 있습니다.
  • 데이터 복구: 전체 디렉토리 트리를 통과하고 손상된 또는 비 표준 CFB 파일에서 원시 스트림 바이트를 추출합니다.
  • 비너리 원방 테스트: 문서를 바이트로 연쇄화하고 자동화된 시험에서 손실 없는 연계화를 확인하기 위해 다시 로드합니다.

MSG 파일 읽기 및 쓰기

  • MSG 파일을 읽습니다: MsgReader.FromFile() 또는 MsgReader.FromStream()으로 Outlook MSG 파일들을 열고, 기본 MAPI 속성 스트림과 수신자 레코드 및 첨부 부 저장소에 액세스합니다.
  • MSG 파일을 작성: MsgDocument에서 MSG 파일 생성, MsgWriter.ToBytes() 또는 MsgWriter.WriteFile().
  • 저층 MAPI 접근: MsgStorage, MsgStreamMsgStorage.FindStream()를 통해 상위 레벨의 속성 스트림과 이름 붙여진 속성과 첨부 데이터를 읽어보세요.
  • MSG 저장 탐색: MsgStorage.FindStream()MsgStorage.FindStorage()을 사용하여 이름의 하위 항목을 찾아보세요.

MSG 가 처리 되는 곳 들

  • ** 이메일 아카이브 파이프라인:** .msg 파일들을 대량 읽으며, 메타데이터나 첨부 파일을 추출합니다.
  • 이탈 도구: MSG 컬렉션을 Outlook 이외의 시스템으로 가져오기 위한 표준 형식으로 변환합니다.
  • 법률적 발견: 비 표준적인 특성을 포함한 모든 메시지 필드를 추출하기 위해 MAPI 속성 스트림을 분석합니다.
  • 자동화된 보고서 전달: .msg 파일을 프로그래밍 방식으로 구축하고 Outlook 기반의 메일 시스템에 전송합니다.

고수단 메시지 API

  • 메시지 만들기: 전체 이메일을 MapiMessage.Create(subject, body)와 함께 작성하고, SenderName, SenderEmailAddress, HtmlBody을 설정합니다.
  • 수신자 추가: AddRecipient()를 통해 이메일 주소와 표시 이름으로 To, Cc, Bcc 수신자를 첨부합니다.
  • 첨부 파일 관리: AddAttachment()을 사용하여 파일 및 스트림 첨부 파일을 추가하거나, Filename, MimeType, ContentId, Data을 사용하여 MapiAttachment 객체를 직접 생성합니다.
  • 저장 및 다시 로드: message.Save() 또는 message.Save(stream)로 직렬화하고, MapiMessage.FromFile() 또는 MapiMessage.FromStream()로 다시 로드합니다.

고수 API 가 사용 되는 곳

  • 자동화된 이메일 생성: 데이터 기록에서 수천 개의 개인화 된 MSG 파일을 배치 작업으로 생성합니다.
  • ** 테스트 장치 제작:** 통합 시험 부문에 대한 예측 가능한 내용의 잘 알려진 MSG 파일을 구축합니다.
  • ** 첨부 파일 추출:** MSG 파일을 로드하고 message.Attachments를 반복하여 각 attachment.Data을 디스크에 저장합니다.
  • ** 재산 검사:** COM 자동화 없이 message.Subject, message.Body , message.SenderEmailAddressmessage.Recipients에 액세스합니다.

EML 및 MIME 변환

  • EML을 MapiMessage에 로드: 표준 .eml 파일(RFC 5322 / MIME)을 MapiMessage.LoadFromEml(stream)를 통해 전체 MapiMessage 객체로 구문 분석합니다.
  • MapiMessage를 EML로 저장: MapiMessagemessage.SaveToEml() 또는 message.SaveToEml(stream)를 사용하여 MIME 형식으로 직렬화합니다.
  • 왕복 정확도: 제목, 본문, HTML 본문, 발신자, 수신자 및 첨부 파일이 EML → MSG → EML 왕복 과정에서 모두 보존됩니다.
  • 외부 MIME 파서 없음: EML 구문 분석은 라이브러리 내에서 네이티브하게 구현되어 있으며 — System.Net.Mail 종속성이 필요하지 않습니다.

EML 변환 을 사용 하는 곳 들

  • ** 포맷 브리지:** 메일 서버에서 EML로 이메일을 수신하고 Outlook 호환 저장용 MSG로 변환합니다.
  • ** 표준 준수:** 모든 우편 운송에 전달하기 위해 독점 MSG 파일을 표준 MIME로 변환합니다.
  • 기록물 정상화: .eml.msg 파일의 혼합된 아카이브를 하나의 형식으로 표준화합니다.
  • ** 테스트 작업 흐름:** .eml 장비를 시험에서 생성하고 데이터 손실 없이 MSG 회전 수명을 확인합니다.

MSG 파일에서 주제를 읽습니다.

스트림에서 Outlook MSG 파일을 열고 주제를 인쇄합니다. Microsoft Outlook가 필요하지 않습니다.

using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

MSG 메시지를 생성하고 저장합니다.

전송자, 수신자와 첨부 파일을 포함해 전체 이메일을 작성하고 MSG 파일로 적어넣습니다.

using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Hello", "Body");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
using var attachmentStream = new MemoryStream("abc"u8.ToArray());
message.AddAttachment("note.txt", attachmentStream, "text/plain");
using var output = File.Create("hello.msg");
message.Save(output);

EML 를 MSG 로 변환

표준 .eml 파일을 로드하고 내장된 MIME 파서로 Outlook .msg 파일로 저장합니다.

using System.IO;
using Aspose.Email.Foss.Msg;
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
using var msgOutput = File.Create("message.msg");
message.Save(msgOutput);
using var emlOutput = File.Create("roundtrip.eml");
message.SaveToEml(emlOutput);
  

지원 및 학습 자료

 한국어