이메일은 인터넷을 통한 커뮤니케이션의 주요 소스입니다. 애플리케이션이 EML 및 MSG 파일을 읽고 해당 내용을 일부 파일에 추가하거나 해당 파일에 대해 다른 작업을 수행하도록 하려는 시나리오에 직면할 수 있습니다. 이를 위해 이 기사에서는 C++를 사용하여 이메일 메시지를 읽는 방법을 설명합니다.
이메일 메시지 읽기를 위한 C++ API
Aspose.Email for C++는 Microsoft Outlook을 설치하지 않고도 이메일을 생성, 조작 및 전송하기 위한 기본 C++ 라이브러리입니다. API는 EML 및 MSG 이메일 파일 읽기도 지원합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.
PM> Install-Package Aspose.Email.Cpp
C++를 사용하여 이메일 메시지 읽기
다음은 이메일 메시지를 읽는 단계입니다.
- MailMessage 클래스를 사용하여 이메일 파일을 로드합니다.
- MailMessage->get_From(), MailMessage->get_To(), MailMessage->get_Subject(), MailMessage->get_Body() 등의 메소드.
다음은 C++를 사용하여 이메일 메시지를 읽는 샘플 코드입니다.
// EML 파일을 로드하여 MailMessage 인스턴스 생성
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// 발신자 정보 가져오기
System::Console::WriteLine(u"From:");
System::Console::WriteLine(message->get_From());
// 받는 사람 정보 가져오기
System::Console::WriteLine(u"To:");
System::Console::WriteLine(message->get_To());
// 주제 가져오기
System::Console::WriteLine(u"Subject:");
System::Console::WriteLine(message->get_Subject());
// HTML 본문 가져오기
System::Console::WriteLine(u"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());
// 텍스트 본문 가져오기
System::Console::WriteLine(u"TextBody:");
System::Console::WriteLine(message->get_Body());
이메일 메시지에서 헤더 정보 추출
다음은 이메일 메시지에서 헤더 정보를 추출하는 단계입니다.
- MailMessage 클래스를 사용하여 이메일 파일을 로드합니다.
- MailMessage->get_Headers()->GetEnumerator() 메서드를 사용하여 헤더 열거자를 가져옵니다.
- 헤더를 반복하고 MailMessage->get_Headers()->Get (int32\t index) 메서드를 사용하여 헤더를 검색합니다.
다음은 C++를 사용하여 이메일 메시지에서 헤더 정보를 추출하는 샘플 코드입니다.
// EML 파일을 로드하여 MailMessage 인스턴스 생성
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// 모든 헤더 출력
int32_t index = 0;
{
auto header_enumerator = message->get_Headers()->GetEnumerator();
decltype(header_enumerator->get_Current()) header;
while (header_enumerator->MoveNext() && (header = header_enumerator->get_Current(), true))
{
System::Console::Write(header + u" - ");
System::Console::WriteLine(message->get_Headers()->Get(index++));
}
}
이메일 메시지 헤더 값 디코딩
다음은 이메일 메시지의 헤더 값을 디코딩하는 단계입니다.
- MailMessage 클래스를 사용하여 이메일 파일을 로드합니다.
- MailMessage->get_Headers()->GetDecodedValue (System::String name) 메서드를 사용하여 헤더 값을 디코딩합니다.
다음은 C++를 사용하여 이메일 메시지의 헤더 값을 디코딩하는 샘플 코드입니다.
// EML 파일을 로드하여 MailMessage 인스턴스 생성
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// 헤더에서 디코딩된 값 가져오기
System::String decodedValue = message->get_Headers()->GetDecodedValue(u"Thread-Topic");
// 값 인쇄
System::Console::WriteLine(decodedValue);
무료 라이선스 받기
임시 무료 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.
라이브 데모
결론
이 기사에서는 C++를 사용하여 이메일 메시지를 읽는 방법을 배웠습니다. 특히 이메일의 내용과 헤더 정보를 읽는 방법을 배웠습니다. 또한 Aspose.Email for C++ API를 사용하여 헤더 값을 디코딩하는 방법도 보았습니다. API는 이메일 메시지를 읽는 것 외에도 이메일 작업을 위한 더 많은 기능을 제공합니다. API에 대한 자세한 내용은 공식 문서에서 확인할 수 있습니다. 질문이 있는 경우 무료 지원 포럼에서 언제든지 문의하십시오.