[java] Javamail을 사용하여 이메일에 자동 삭제 설정하기

이메일은 우리의 일상 생활에서 중요한 커뮤니케이션 도구입니다. 하지만 때로는 우리가 읽지 않은 메일로 인해 메일함이 너무 많아져서 불편할 수 있습니다. 이러한 상황에서 자동 삭제 기능을 사용하면 읽지 않은 메일을 자동으로 삭제하여 메일함을 청소할 수 있습니다. 이번에는 Javamail을 사용하여 메일에 자동 삭제 설정을 하는 방법에 대해 알아보겠습니다.

Javamail 라이브러리 추가하기

먼저, Javamail을 사용하기 위해 Maven 또는 Gradle과 같은 빌드 관리 도구를 사용하여 Javamail 라이브러리를 추가해야 합니다. 아래와 같이 pom.xml 파일에 Javamail 라이브러리 의존성을 추가합니다.

<dependency>
  <groupId>com.sun.mail</groupId>
  <artifactId>javax.mail</artifactId>
  <version>1.6.2</version>
</dependency>

이메일 자동 삭제 설정하기

이제 Javamail을 사용하여 이메일에 자동 삭제 설정을 할 수 있습니다. 다음은 자동 삭제를 설정하기 위한 간단한 예제 코드입니다.

import javax.mail.*;
import javax.mail.search.FlagTerm;

import java.util.Properties;

public class AutoDeleteEmailExample {

    public static void main(String[] args) throws MessagingException {

        // 이메일 계정 설정
        String host = "imap.gmail.com";
        String username = "your-email@gmail.com";
        String password = "your-password";

        // 연결에 필요한 프로퍼티 설정
        Properties properties = new Properties();
        properties.put("mail.store.protocol", "imaps");
        properties.put("mail.imaps.host", host);
        properties.put("mail.imaps.port", "993");
        properties.put("mail.imaps.starttls.enable", "true");

        // Session 생성
        Session session = Session.getInstance(properties, null);

        // Store 연결
        Store store = session.getStore("imaps");
        store.connect(host, username, password);

        // 메일함 가져오기
        Folder inbox = store.getFolder("INBOX");
        inbox.open(Folder.READ_WRITE);

        // 읽지 않은 메일 찾기
        FlagTerm unreadFlagTerm = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
        Message[] unreadMessages = inbox.search(unreadFlagTerm);

        // 읽지 않은 메일 삭제하기
        for (Message message : unreadMessages) {
            message.setFlag(Flags.Flag.DELETED, true);
        }

        // 변경사항 저장
        inbox.expunge();

        // 연결 종료
        inbox.close(false);
        store.close();
    }
}

위의 코드는 Gmail IMAP 서버에 연결하여 INBOX 메일함에서 읽지 않은 메일을 찾고, 해당 메일을 자동으로 삭제하는 예제입니다. 이 예제 코드를 실행하면 읽지 않은 메일이 자동으로 삭제됩니다.

결론

Javamail을 사용하여 이메일에 자동 삭제 설정을 할 수 있습니다. 이를 통해 메일함을 정리하고 불필요한 메일을 자동으로 삭제하여 우리의 메일 관리를 효율적으로 할 수 있습니다. 위의 예제 코드를 참고하여 필요한 기능을 추가하고 커스터마이징하여 자신의 프로젝트에 적용해보세요.