[java] Javamail을 사용하여 이메일 태그 지정하기

Javamail은 Java 프로그램에서 이메일을 보내고 받기 위한 라이브러리입니다. 이를 통해 이메일의 여러 속성을 설정할 수 있습니다. 이 글에서는 Javamail을 사용하여 이메일의 태그를 지정하는 방법을 알아보겠습니다.

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

먼저, 프로젝트에 Javamail 라이브러리를 추가해야 합니다. Maven을 사용한다면 pom.xml 파일에 다음 의존성을 추가합니다.

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

Gradle을 사용한다면 build.gradle 파일에 다음 의존성을 추가합니다.

implementation 'com.sun.mail:javax.mail:1.6.2'

의존성을 추가한 후에는 프로젝트를 빌드해야 합니다.

2. 이메일에 태그 추가하기

Javamail을 사용하여 이메일을 생성하고 태그를 추가하는 방법은 다음과 같습니다.

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class EmailSender {
    public static void main(String[] args) {
        // SMTP 서버 설정
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.example.com");
        props.put("mail.smtp.port", "587");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");

        // 이메일 세션 생성
        Session session = Session.getInstance(props, null);

        try {
            // 이메일 객체 생성
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("sender@example.com"));
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse("recipient@example.com"));
            message.setSubject("Hello!");
            message.setText("This is a test email.");

            // 태그 추가
            message.setHeader("X-Autotag", "Important");

            // 이메일 전송
            Transport.send(message);

            System.out.println("Email sent successfully.");
        } catch (MessagingException e) {
            System.out.println("Failed to send email. Error: " + e.getMessage());
        }
    }
}

위 예제 코드에서는 message.setHeader("X-Autotag", "Important");를 사용하여 이메일에 “Important” 태그를 추가했습니다. 이렇게 태그를 추가하면 이메일을 읽는 클라이언트에서 해당 이메일을 쉽게 분류하거나 필터링할 수 있습니다.

결론

이메일을 보낼 때 Javamail을 사용하면 간단하게 이메일의 태그를 지정할 수 있습니다. 이를 통해 이메일을 쉽게 관리하고 필요한 작업을 수행할 수 있습니다.