[java] Javamail을 사용하여 이메일에 회신 요청 설정하기

이메일을 보낼 때, 때로는 수신자에게 회신 요청을 설정하는 것이 유용할 수 있습니다. Javamail 라이브러리를 사용하여 이메일에 회신 요청을 설정하는 방법에 대해 알아보겠습니다.

Javamail 라이브러리 추가하기

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

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

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가합니다:

dependencies {
    implementation 'com.sun.mail:javax.mail:1.6.2'
}

회신 요청 설정하기

다음은 Javamail을 사용하여 이메일에 회신 요청을 설정하는 예제 코드입니다:

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

public class EmailSender {
    public static void main(String[] args) {
        String host = "your-smtp-host";
        String username = "your-username";
        String password = "your-password";
        String recipient = "recipient@example.com";
        
        Properties props = new Properties();
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.port", "587");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");

        Session session = Session.getInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });

        try {
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(username));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipient));
            message.setSubject("Hello");
            message.setText("This is the email content.");

            // 회신 요청 설정
            message.setHeader("X-Confirm-Reading-To", username);

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

위 예제에서는 message.setHeader("X-Confirm-Reading-To", username)을 사용하여 회신 요청 헤더를 설정합니다. 이 설정은 이메일을 수신한 사람이 회신할 때, 회신 메일이 username으로 전송되도록 합니다.

마무리

이제 Javamail을 사용하여 이메일에 회신 요청을 설정하는 방법을 알게 되었습니다. 이를 통해 이메일을 보낼 때 회신 요청을 유용하게 활용할 수 있습니다. 자세한 내용은 Javamail 공식 문서를 참조하세요.