이메일에서 메시지 내용 추출

화면에 이메일 정보 표시

다음은 MailMessage 이것은 이메일 메시지를 나타내며 개발자가 이메일 메시지 속성에 접근할 수 있게 합니다. 헤더 정보는 (다음에서 논의됨) 이메일 헤더 추출)는 다양한 방법으로 추출 및 조작할 수 있습니다. 이 문서에서는 선택된 이메일 헤더 정보와 이메일 본문을 화면에 표시하는 방법을 설명합니다.

  1. MailMessage 인스턴스를 생성합니다.
  2. MailMessage 인스턴스로 이메일 메시지를 로드합니다.
  3. 이메일 내용을 화면에 표시합니다.

아래 코드는 이메일 메시지를 로드하고 그 내용(보낸 사람, 받는 사람, 제목 및 본문)을 화면에 표시하는 방법을 보여줍니다.

메시지 날짜 및 시간 가져오기

다음은 MailMessage 클래스를 사용하여 메시지 날짜를 UTC 또는 로컬 시간대로 가져올 수 있습니다. 이 정보는 다음과 같이 요약될 수 있습니다:

  1. MailMessage.getDate() - UTC 기준 날짜를 반환합니다
  2. MailMessage.getLocalDate() - 로컬 시간대의 날짜를 반환합니다.
  3. MailMessage.isLocalDate **MailMessage.getDate()**가 로컬 시간대에 있으면 true를 반환합니다.

이메일 헤더 추출

이메일 헤더는 인터넷 이메일 메시지에 포함되는 인터넷 및 RFC 정의 표준 헤더 필드 집합을 나타냅니다. 이메일 헤더는 다음을 사용하여 지정할 수 있습니다. MailMessage 클래스. 일반 헤더 유형은 여기에서 정의됩니다. HeaderType 클래스. 일반 열거형처럼 작동하는 sealed 클래스입니다.

이메일에서 헤더를 추출하려면 다음 단계를 따르세요:

  1. MailMessage 클래스의 인스턴스를 생성합니다.
  2. MailMessage 클래스 인스턴스로 이메일 메시지를 로드합니다.
  3. 이메일 메시지를 로드한 후 원시 내용을 가져옵니다. MailMessage 클래스 자체에는 From, To, Cc, Subject 등과 같은 속성이 포함되어 있습니다. 이러한 속성은 헤더에서 추출할 수 있습니다.
  4. 원시 내용을 표시합니다.

디코드된 헤더 값 가져오기

연결된 리소스 Disposition 헤더 가져오기 및 수정하기

연결된 리소스는 이메일 메시지 객체에서 프로그래밍 방식으로 액세스하고 조작할 수 있습니다. getContentDisposition() 메서드 LinkedResource 클래스는 Content-Disposition 헤더를 가져옵니다. 아래 코드 샘플은 연결된 리소스의 파일명을 액세스하고 수정하는 방법을 보여줍니다:

MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");

HTML 본문을 일반 텍스트로 가져오기

다음은 MailMessage 클래스는 메시지의 HTML 본문을 일반 텍스트로 추출하는 기능을 제공합니다. MailMessage 클래스는 GetHtmlBodyText HTML 본문을 일반 텍스트로 반환하는 메서드입니다. GetHtmlBodyText 메서드는 본문에 URL을 포함할지 여부를 나타내는 불리언 매개변수를 받습니다. 매개변수를 true 로 전달하면 HTML 본문에 URL이 포함됩니다.

다음 코드 스니펫은 GetHtmlBodyText 메서드를 사용하여 이메일의 HTML 본문을 일반 텍스트로 추출하는 방법을 보여줍니다.

이메일에서 X.500 Exchange 주소 가져오기

Aspose.Email for Java는 X.500 Exchange 주소에 직접 액세스할 수 있게 해줍니다. MailAddress 클래스. 다음과 함께 X500Address 속성을 사용하면 사용 가능한 경우 Exchange X.500 형식의 이메일 주소를 가져올 수 있습니다. 다음 코드 샘플은 이메일 메시지를 로드하고 발신자의 X.500 주소를 가져오는 방법을 보여줍니다:

MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();

X.500 주소가 존재하면 문자열로 반환되며, Exchange 기반 시스템과 연동되는 애플리케이션에서 추가 처리나 로깅에 사용할 수 있습니다.

HTML 이메일에서 연결된 이미지를 추출하고 첨부 파일로 삽입하기

Aspose.Email ExtractHTMLBodyResourcesAsAttachments 메서드 HtmlSaveOption 클래스는 HTML 본문 리소스를 첨부 파일로 추출할지 여부를 정의합니다. 따라서 HTML 본문에서 이미지 링크된 콘텐츠를 추출하여 MIME 메시지에 첨부 파일로 삽입할 수 있습니다. 연결된 이미지는 보존되고 이메일과 적절히 연결되어 콘텐츠 무결성과 오프라인 접근성을 향상시킵니다.

다음 코드 샘플은 이 작업을 수행하는 방법을 보여줍니다:

MailMessage mailMessage = MailMessage.load("input.eml");
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExtractHTMLBodyResourcesAsAttachments(true);
options.setResourceHtmlRenderingHandler(new ResourceHtmlRenderingHandler() {
    public void invoke(final Object sender, final ResourceHtmlRenderingEventArgs e) {
        System.out.println(e.getPathToResourceFile() + " " + ((Attachment)sender).getContentId());
    }
});