자주 묻는 질문 — Aspose.Email FOSS for .NET

자주 묻는 질문 — Aspose.Email FOSS for .NET

라이선스

Aspose.Email.Foss는 어떤 라이선스를 사용합니까?

MIT 라이선스. 라이선스 키가 필요하지 않습니다. 개인, 상업 및 오픈 소스 프로젝트에서 자유롭게 사용하십시오.


설치

Aspose.Email.Foss는 어떻게 설치하나요?

dotnet add package Aspose.Email.Foss

필요한 .NET 버전은 무엇인가요?

.NET 8.0 이상. 이 라이브러리는 .NET Framework 또는 .NET Standard를 지원하지 않습니다.

네이티브 종속성이 있나요?

아니요. 이 라이브러리는 순수 관리형 C#이며 네이티브 종속성이 없습니다. 다음 환경에서 동일하게 실행됩니다 Windows, Linux, macOS, Docker 및 서버리스 환경.


형식 지원

지원되는 이메일 형식은 무엇입니까?

형식읽기쓰기
MSG (Outlook)
CFB (Compound File Binary)
EML (MIME / RFC 5322)

EML 파일을 읽을 수 있나요?

예. MapiMessage.LoadFromEml(stream)을 사용하여 표준 .eml 파일을 MapiMessage에 로드합니다. 내장 MIME 파서는 접힌 헤더, base64 콘텐츠 및 multipart 메시지를 처리합니다.

MSG를 EML로 변환할 수 있나요?

예. 메모리 내 byte[] 출력을 위해 message.SaveToEml()을 호출하거나
message.SaveToEml(stream)을 사용해 파일에 씁니다. 제목, 본문, HTML 본문, 발신자,
수신자 및 모든 첨부 파일이 보존됩니다.

TNEF (winmail.dat)가 지원되나요?

아니요. 표준 MSG (CFB) 및 EML (MIME) 형식만 지원됩니다.

IMAP/SMTP/POP3가 지원되나요?

아니요. 이 라이브러리는 MSG 파일을 직접 처리하며 네트워크/프로토콜 계층을 포함하지 않습니다.


API 사용

MSG 파일을 어떻게 로드하나요?

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

새 메시지를 어떻게 만들나요?

var message = MapiMessage.Create("Subject", "Body");
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
message.Save("output.msg");

첨부 파일을 어떻게 추가하나요?

// From byte array
message.AddAttachment("file.pdf", pdfBytes, "application/pdf");

// From stream
using var stream = File.OpenRead("photo.png");
message.AddAttachment("photo.png", stream, "image/png");

EML을 MSG로 변환하려면 어떻게 해야 하나요?

using var eml = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(eml);
message.Save("message.msg");

CFB 구조에 원시적으로 어떻게 접근합니까?

using Aspose.Email.Foss.Cfb;
using var reader = CfbReader.FromFile("message.msg");
foreach (var entry in reader.IterChildren(CfbConstants.RootStreamId))
    Console.WriteLine(entry.Name);

알려진 제한 사항

구현되지 않은 메서드가 있나요?

현재 버전에는 의도적으로 구현되지 않은 스텁이 존재하지 않습니다.

캘린더/약속 지원이 제공되나요?

라이브러리는 MSG 파일을 일반적으로 처리합니다. 캘린더 전용 속성은 SetProperty() / GetPropertyValue()를 통해 CommonMessagePropertyId의 MAPI 속성 ID로 접근할 수 있지만, 전용 캘린더 또는 약속 API는 제공되지 않습니다.

스레드 안전성이 보장됩니까?

MapiMessageCfbReader 인스턴스는 독립적입니다. 별도의 스레드에서 별개의 인스턴스에 대한 동시 접근은 안전합니다. 외부 동기화 없이 스레드 간에 단일 인스턴스를 공유하지 마십시오.

 한국어