자바로 이메일 읽기

어떤 경우에는 애플리케이션 내에서 EML 또는 MSG 이메일 메시지를 읽고 구문 분석해야 할 수 있습니다. 프로그래밍 방식으로 수행하기 위해 이 기사에서는 Java의 이메일 메시지에서 정보를 추출하는 방법을 보여줍니다. 특히 이메일의 제목, 받는 사람, 보낸 사람, 본문 및 헤더 정보를 읽는 방법을 배웁니다.

이메일을 읽는 자바 API

이메일 메시지를 읽기 위해 Aspose.Email for Java를 사용합니다. Java에서 기능이 풍부한 이메일 클라이언트를 만들 수 있는 강력한 API입니다. API의 JAR을 다운로드하거나 다음 Maven 구성을 사용하여 설치할 수 있습니다.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>21.3</version>
    <classifier>jdk16</classifier>
</dependency>

Java를 사용하여 이메일 메시지 읽기

다음은 Java에서 이메일 메시지를 읽는 단계입니다.

  • MailMessage 클래스를 사용하여 이메일 파일을 로드합니다.
  • To, From, Subject, Body 등과 같은 MailMessage 개체를 사용하여 이메일 내용을 읽습니다.

다음 코드 샘플은 Java를 사용하여 이메일 메시지를 읽는 방법을 보여줍니다.

// Eml 파일을 로드하여 MailMessage 인스턴스 생성
MailMessage message = MailMessage.load("test.eml");

System.out.print("From: ");
// 발신자 정보 가져오기
System.out.println(message.getFrom());
		
System.out.print("To: ");
// 받는 사람 정보 가져오기
System.out.println(message.getTo());
		
System.out.print("Subject: ");
// 주제 가져오기
System.out.println(message.getSubject());
		
System.out.print("HtmlBody: ");
// HTML 본문 가져오기
System.out.println(message.getHtmlBody());
		
System.out.print("TextBody: ");
// 텍스트 본문을 가져옵니다.
System.out.println(message.getTextBody());
		
System.out.print("HtmlBodyText: ");
// 텍스트 본문을 가져옵니다. from HTML
System.out.println(message.getHtmlBodyText());

Java에서 이메일 본문을 일반 텍스트로 추출

이메일을 읽고 HTML 대신 일반 텍스트로 본문을 추출할 수도 있습니다. 다음은 이 작업을 수행하는 단계입니다.

다음 코드 샘플은 Java에서 이메일 본문을 일반 텍스트로 추출하는 방법을 보여줍니다.

// 이메일 메시지 로드
MailMessage mail = MailMessage.load("HtmlWithUrlSample.eml");

body_with_url = mail.getHtmlBodyText(true);// body will contain URL
String body_without_url = mail.getHtmlBodyText(false);// body will not contain URL

// 이메일 메시지 인쇄
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);

Java의 이메일에서 헤더 정보 추출

Aspose.Email for Java를 사용하면 이메일 메시지의 헤더 정보도 읽을 수 있습니다. 다음은 이 작업을 수행하는 단계입니다.

  • MailMessage 클래스를 사용하여 이메일 파일을 로드합니다.
  • MailMessage.getHeaders() 메서드를 사용하여 이메일의 헤더 컬렉션을 반복합니다.

다음 코드 샘플은 Java를 사용하여 이메일 메시지의 헤더를 읽는 방법을 보여줍니다.

// EML 파일을 로드하여 MailMessage 인스턴스 생성
MailMessage message = MailMessage.load("test.eml");

// 모든 헤더 출력
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
	System.out.println(message.getHeaders().get(i));

Java에서 이메일 헤더 디코딩

다음 단계를 사용하여 이메일 헤더를 디코딩할 수도 있습니다.

다음 코드 샘플은 Java에서 이메일 헤더 값을 디코딩하는 방법을 보여줍니다.

// 이메일 메시지 로드
MailMessage mail = MailMessage.load("test.eml");

// 헤더에서 디코딩된 값 가져오기
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");

// 값 인쇄
System.out.println(decodedValue);

무료 API 라이선스 받기

평가 제한 없이 API를 사용하려면 무료 임시 라이선스를 요청할 수 있습니다.

라이브 데모

결론

이 기사에서는 Java를 사용하여 이메일 메시지를 읽는 방법을 배웠습니다. 또한 이메일 메시지에서 헤더 정보를 추출하는 방법을 살펴보았습니다. 문서를 사용하여 Java 이메일 API에 대해 자세히 알아볼 수 있습니다. 또한 문의 사항이 있는 경우 포럼을 통해 문의할 수 있습니다.

또한보십시오