Convert EML to HTML

Convert EML to HTML

이메일 콘텐츠를 웹 애플리케이션에 통합하려면 EML을 HTML로 변환하는 것이 적합하며, 시각적으로 매력적인 이메일 표시를 가능하게 합니다.

EML을 HTML로 변환하려면 다음 클래스가 필요합니다:

  • MailMessage 클래스는 이메일 메시지를 나타내는 객체를 생성하는 데 사용됩니다. 제목, 본문, 보낸 사람 및 수신자 주소 등 메시지 속성에 접근할 수 있습니다. 이 메서드를 사용하면 이메일을 생성, 로드, 구문 분석, 수정, 저장하거나 기타 조작을 수행할 수 있습니다.
  • SaveOptions 클래스는 다양한 형식으로 이메일 메시지를 저장하기 위한 옵션을 제공합니다. 사용자는 이메일 메시지를 다양한 형식으로 저장하는 방식을 맞춤 설정할 수 있습니다. 이 클래스를 사용하면 첨부 파일, 헤더, 메타데이터 및 이메일 메시지 속성을 저장하는 옵션을 지정하고, 인코딩 옵션을 설정하거나 암호화 여부를 선택할 수 있습니다.

아래 코드 샘플에서 이 클래스들은 기존 EML 파일을 로드하고 메시지 형식을 EML로 지정하기 위해 함께 작동합니다. 그 후, 지정된 기본 HTML 저장 옵션을 사용하여 로드된 이메일 메시지를 HTML 파일로 저장합니다:

  1. 다음 사용 MailMessage.Load() 기존 파일을 MailMessage 객체에 로드하고 메시지 형식을 지정하는 메서드.
  2. 로드된 MailMessage 객체를 HTML 파일로 저장하려면, 다음을 사용합니다: 저장 메서드. 사용: SaveOptions.DefaultHtml() HTML 형식에 대한 저장 옵션을 지정합니다.
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
message.Save("output.html", SaveOptions.DefaultHtml);

Save EML Resources in a Separate File

Aspose.Email은 다음을 제공합니다 ResourceRenderingMode HTML 파일의 리소스를 조작할 수 있게 하는 열거형입니다. 아래 코드 샘플에서 이 열거형은 리소스를 파일에 저장하고 HTML에 해당 파일 경로를 ‘src’ 태그로 삽입하는 데 사용됩니다:

  1. 소스 파일에서 이메일 메시지를 다음을 사용하여 로드합니다: MapiMessage.Load 메서드.
  2. 다음의 인스턴스를 생성합니다 HtmlSaveOptions 지정된 렌더링 및 리소스 옵션과 함께.
  3. 로드된 이메일 메시지를 대상 위치에 HTML 파일로 저장하려면, 다음을 사용합니다: 저장 메서드와 HtmlSaveOptions 매개변수를 사용합니다.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
UseRelativePathToResources = true
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);

Embed Resources to an HTML File

때때로 이미지와 같은 리소스를 HTML 파일에 직접 포함하여 원활한 배포와 표시가 필요합니다. Aspose.Email for .NET을 사용하면 이를 쉽게 수행할 수 있습니다 using the ResourceRenderingMode 열거형:

  1. 소스 파일에서 이메일 메시지를 다음을 사용하여 로드합니다: MapiMessage.Load 메서드.
  2. 새로운 HtmlSaveOptions 객체와 함께 ResourceRenderingMode 속성을 EmbedIntoHtml으로 설정합니다.
  3. 로드된 이메일 메시지를 HTML 파일로 저장하려면, 다음을 사용합니다: 저장 메서드로 대상 파일 경로를 지정하고 HtmlSaveOptions 객체를 매개변수로 전달하여 리소스를 HTML 파일에 포함합니다.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.EmbedIntoHtml
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);

Convert EML to ICS

다음 코드 샘플은 EML 파일에서 캘린더 이벤트 데이터를 추출하고, 추가 사용 또는 조작을 위해 별도의 ICS 파일로 저장하는 방법을 보여줍니다.

// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, save it to a file
if (icsView != null)
{
    File.WriteAllText("appointment.ics", icsView);
}

맞춤 설정

Aspose.Email for .NET은 EML(전자 메일) 파일에서 추출한 ICS(iCalendar) 콘텐츠를 맞춤 설정하기 위한 도구를 제공합니다.

Customize the event details

다음 코드 샘플은 약속의 요약, 위치, 설명 등 다양한 세부 정보를 설정하는 방법을 보여줍니다. 코드는 다음을 활용합니다: Appointment 클래스는 ICS(iCalendar) 형식의 캘린더 약속 또는 이벤트를 나타냅니다. 이 클래스는 프로그래밍 방식으로 캘린더 이벤트를 생성, 수정 및 관리하는 속성과 메서드를 제공합니다.

// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, load it to Appointment class object
var appointment = Appointment.Load(new MemoryStream(Encoding.UTF8.GetBytes(icsView)));

// Customize the event details
appointment.Summary = "Customized Event Summary";
appointment.Location = "Customized Location";
appointment.Description = "Customized Event Description";

// Add or modify attendees as needed
appointment.Attendees.Clear();
appointment.Attendees.Add("custom@example.com");

// Save the customized ICS content to a file
appointment.Save("customized_appointment.ics");

Create a recurrence pattern

다음 코드는 약속을 위한 주간 반복 패턴을 생성하는 방법을 보여줍니다. 이 약속은 매 5주마다 토요일에 발생합니다. 코드는 다음을 활용합니다: Recurrence 속성 Appointment 클래스는 반복 패턴을 가져오거나 설정합니다.

var pattern = new  WeeklyRecurrencePattern(5, 7);
pattern. EndDate = new DateTime(2023, 8, 7);

appointment.Recurrence = pattern;

Add EML to MBOX

MBOX는 하나의 파일에 여러 이메일 메시지를 저장하는 데 일반적으로 사용되는 형식으로, 이메일 아카이브 및 마이그레이션에 적합합니다. 다음을 사용하십시오: MboxrdStorageWriter 클래스는 이메일 메시지를 MBOX 파일에 기록합니다. 다음 코드 샘플은 이 작업을 수행하는 방법을 보여줍니다:

using (var message = MailMessage.Load("inputFile.eml")){
	using (var writer = new MboxrdStorageWriter("output.mbox", false)){
			writer.WriteMessage(message);
	}
} 

Convert EML to MHTML

Aspose.Email for .NET을 사용하면 EML 파일을 다양한 목적(아카이브, 호환성, 오프라인 보기 등)으로 MHTML 형식으로 쉽게 변환할 수 있습니다. 이메일 메시지를 다음을 사용하여 로드합니다: MailMessage.Load, then use the MhtSaveOptions 클래스를 매개변수로 전달합니다 to the MailMessage.Save 메시지를 별도 파일로 저장할 때 출력 파일 형식을 지정하는 메서드:

// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
var mhtSaveOptions = new MhtSaveOptions;
message.Save("output.mhtml", mhtSaveOptions);

다음은 MhtSaveOptions 클래스는 출력 MHTML 파일을 맞춤 설정하기 위한 다양한 옵션을 제공합니다:

  • 원본 날짜 형식 보존. 변환 과정에서 이메일 메시지의 원본 형식을 유지하도록 선택할 수 있습니다:

    saveOptions.PreserveOriginalDate = true;
    
  • 출력 인코딩 설정. 출력 MHTML 파일을 쓸 때 사용할 인코딩을 지정할 수 있습니다:

    saveOptions.OutputEncoding = Encoding.UTF8; 
    
  • 첨부 파일 포함. 이메일을 MHTML 형식으로 변환할 때 첨부 파일을 보존하려면 유용합니다:

    saveOptions.SaveAttachments = true;
    

Convert EML to MSG

이메일 데이터를 마이그레이션하거나, 메시지를 보관하거나, Microsoft Outlook과 통합하려면, Aspose.Email이 솔루션을 제공합니다. MSG 파일은 Microsoft Outlook에서 널리 사용됩니다. EML을 MSG로 변환하려면, 다음을 사용하십시오: MailMessage.Load 기존 EML 파일을 로드하고 로드 방식을 지정하는 메서드: EmlLoadOptions.

다음 코드 샘플은 EML 파일을 MSG 형식으로 변환하는 방법을 보여줍니다:

// Load mail message
using (var message = MailMessage.Load("sourceFile.eml", new EmlLoadOptions())){
// Save as MSG
var msgSaveOptions = new MsgSaveOptions;
message.Save("output.msg", MsgSaveOptions);
} 

Convert EML to OFT

EML 파일을 Outlook 템플릿(OFT) 형식으로 변환하려면, 기존 이메일 메시지를 다음을 사용하여 로드합니다: MailMessage.Load 메서드와 함께 저장합니다: MailMessage.Save OFT 형식으로 메시지를 저장하기 위한 기본 옵션을 지정합니다:

// load the EML file to be converted
var message = MailMessage.Load("My File.eml"); 
// save EML as a OFT 
message.Save("Saved File.oft", SaveOptions.DefaultOft);

Add EML to PST

EML 파일을 개인 저장 테이블(PST) 형식으로 변환하려면, 메시지를 다음을 사용하여 로드합니다: MapiMessage.Load 메서드를 사용하여, 출력 파일을 다음으로 생성합니다: PersonalStorage.Create 그리고 저장 파일의 생성된 Inbox 폴더에 이메일을 추가합니다 using the AddMessage:

using (var msg = MapiMessage.Load("sourceFile.eml", new EmlLoadOptions()))
{
    using (var personalStorage = PersonalStorage.Create("outputFile.pst", FileFormatVersion.Unicode))
  {
        var inbox = personalStorage.RootFolder.AddSubFolder("Inbox");
        inbox.AddMessage(msg);
  }
}

Add EML to OST

개발자는 EML 파일을 Outlook 오프라인 저장 테이블(OST) 형식으로 쉽게 변환하여 Microsoft Outlook과 통합할 수 있습니다. 다음 코드 샘플은 EML 메시지를 OST 파일에 추가하는 방법을 보여줍니다:

using (var ost = PersonalStorage.FromFile("storage.ost"))
{
    // Load the EML file
    var msg = MapiMessage.Load("message.eml", new EmlLoadOptions());

    // Add the EML message to the OST file
    var folderInfo = ost.RootFolder.GetSubFolder("Inbox");
    folderInfo.AddMessage(msg);
}

다음은 EmlLoadOptions 파라미터는 EML 파일을 로드할 때 추가 옵션을 지정합니다. 예를 들어 임베디드 메시지 형식 보존, 서명 제거 등.

Convert EML to VCF

Aspose.Email for .NET은 EML 파일을 vCard (VCF) 형식으로 변환하는 기능을 제공하여 개발자가 이메일에서 연락처 정보를 추출할 수 있게 합니다. 이를 위해 라이브러리는 다음을 제공합니다: GetAlternateViewContent 메서드 MailMessage 클래스는 개발자가 이메일 메시지 내의 대체 뷰에 접근하고 EML 파일에 포함된 VCF 콘텐츠를 추출하여 사용할 수 있게 합니다:

// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/vcard" (VCF)
var vcfView = eml.GetAlternateViewContent("text/vcard");
// If an VCF view is found, save it to a file
if (vcfView != null)
{
    File.WriteAllText("contact.vcf", vcfView);
}