[java] Javamail을 사용하여 이메일에 배송 확인 요청 추가하기

이메일 전송에 대한 신뢰성을 높이기 위해 배송 확인 요청을 이메일에 추가할 수 있습니다. Javamail 라이브러리를 사용하여 이메일을 보내고 이메일이 성공적으로 전송되었는지 확인하는 방법을 알아보겠습니다.

Javamail 라이브러리 추가하기

Javamail을 사용하기 위해 먼저 Javamail 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하신다면 pom.xml 파일에 다음 의존성을 추가해주세요:

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

Gradle을 사용하신다면 build.gradle 파일에 다음 의존성을 추가해주세요:

compile 'javax.mail:javax.mail-api:1.6.2'
compile 'com.sun.mail:javax.mail:1.6.2'

배송 확인 요청 추가하기

다음은 Javamail을 사용하여 이메일에 배송 확인 요청을 추가하는 예제 코드입니다:

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

public class EmailDeliveryConfirmation {

    public static void main(String[] args) throws Exception {
        final String username = "your_email@gmail.com";
        final String password = "your_password";

        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "587");

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

        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress("your_email@gmail.com"));
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient_email@example.com"));
        message.setSubject("Email Delivery Confirmation Request");
        message.setText("Please confirm if you have received this email.");

        // 배송 확인 요청 추가
        message.addHeader("Disposition-Notification-To", "your_email@gmail.com");

        Transport.send(message);

        System.out.println("Email sent successfully.");
    }
}

위의 예제 코드에서 your_email@gmail.com을 보내는 사람 이메일 주소로, recipient_email@example.com을 수신자 이메일 주소로 변경해주세요. 또한 your_password에는 보내는 사람 이메일 계정의 비밀번호를 입력해야 합니다.

message.addHeader("Disposition-Notification-To", "your_email@gmail.com"); 라인은 배송 확인 요청을 추가하는 부분입니다. 이렇게 하면 이메일 수신자는 이메일을 열었을 때 확인 버튼을 누를 수 있게 됩니다.

이제 위의 코드를 실행하고 이메일이 성공적으로 전송되었는지 확인해보세요. 수신자가 이메일을 열었을 때 해당 이메일 주소로 배송 확인 알림을 받게 됩니다.

이제 당신은 Javamail을 사용하여 이메일에 배송 확인 요청을 추가할 수 있습니다. 이를 통해 이메일 전송을 더욱 신뢰성 있게 만들 수 있습니다.


참고 자료: