[java] Javamail을 사용하여 POP3 서버에 연결하기

이번에는 Javamail 라이브러리를 사용하여 POP3 서버에 연결하는 방법에 대해 알아보겠습니다. Javamail은 자바 기반의 메일 클라이언트 애플리케이션을 개발하기위해 사용되는 라이브러리입니다.

1. Javamail 라이브러리 추가하기

먼저 프로젝트에 Javamail 라이브러리를 추가해야합니다. 일반적으로 Maven이나 Gradle과 같은 의존성 관리 도구를 사용하여 다음과 같이 Javamail 의존성을 추가할 수 있습니다.

<!-- Maven -->
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.6.2</version>
</dependency>

<!-- Gradle -->
implementation 'javax.mail:mail:1.6.2'

2. POP3 서버에 연결하기

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class POP3Example {

    public static void main(String[] args) {
        String host = "pop.example.com";
        int port = 995;
        String username = "your_username";
        String password = "your_password";

        Properties props = new Properties();
        props.put("mail.pop3.host", host);
        props.put("mail.pop3.port", port);
        props.put("mail.pop3.ssl.enable", "true");

        Session session = Session.getDefaultInstance(props);

        try {
            // POP3 서버에 연결
            Store store = session.getStore("pop3s");
            store.connect(host, port, username, password);

            // 메일함 열기
            Folder folder = store.getFolder("INBOX");
            folder.open(Folder.READ_ONLY);

            // 메일함의 메시지 개수 가져오기
            int messageCount = folder.getMessageCount();

            System.out.println("Total Messages: " + messageCount);

            // 메일함의 모든 메시지 확인
            for (int i = 1; i <= messageCount; i++) {
                Message message = folder.getMessage(i);
                System.out.println("Subject: " + message.getSubject());
                System.out.println("From: " + message.getFrom()[0]);
            }

            // 메일함 닫기
            folder.close(false);

            // 연결 종료
            store.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 예제 코드는 POP3 서버에 연결하고 INBOX 메일함의 메시지를 가져오는 간단한 예제입니다. host, port, username, password 변수를 해당 서버의 정보로 설정하고 실행하면 메일함의 메시지 목록을 출력할 수 있습니다.

3. 결론

Javamail을 사용하여 POP3 서버에 연결하는 방법에 대해 알아보았습니다. 이러한 기능을 활용하여 자바 애플리케이션에서 이메일을 송수신하는 기능을 개발할 수 있습니다.

더 자세한 정보는 Oracle 공식 문서를 참조하시기 바랍니다.