[java] Javamail을 사용하여 이메일에 쿠폰 코드 추가하기

이메일에 쿠폰 코드를 추가하는 것은 JavaMail API를 사용하여 간단하게 할 수 있습니다. 이 문서에서는 Javamail을 사용하여 이메일의 본문에 쿠폰 코드를 삽입하는 방법을 알아보겠습니다.

1. Javamail 라이브러리 가져오기

먼저 Javamail 라이브러리를 다운로드하고 프로젝트에 추가해야 합니다. Maven을 사용하면 다음과 같이 의존성을 추가할 수 있습니다.

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

2. 이메일 보내기 설정하기

이메일을 보내기 전에 SMTP 서버 설정을 해야 합니다. SMTP 서버 주소, 포트, 계정 정보 등을 설정해야 합니다. 아래는 Gmail SMTP 서버 설정 예제입니다.

Properties properties = System.getProperties();
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.host", "smtp.gmail.com");
properties.put("mail.smtp.user", "your-email@gmail.com");
properties.put("mail.smtp.password", "your-password");
properties.put("mail.smtp.port", "587");
properties.put("mail.smtp.auth", "true");

3. 이메일 본문에 쿠폰 코드 추가하기

이제 이메일 메시지를 만들고 본문에 쿠폰 코드를 추가할 준비가 되었습니다. 아래는 예제 코드입니다.

Session session = Session.getDefaultInstance(properties, new javax.mail.Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication("your-email@gmail.com", "your-password");
    }
});

try {
    MimeMessage message = new MimeMessage(session);
    message.setFrom(new InternetAddress("your-email@gmail.com"));
    message.addRecipient(Message.RecipientType.TO, new InternetAddress("recipient-email@example.com"));
    
    // 쿠폰 코드 생성 (예: ABC123)
    String couponCode = "ABC123";
    
    message.setSubject("쿠폰 코드 안내");
    message.setText("안녕하세요! 쿠폰 코드를 안내드립니다.\n\n쿠폰 코드: " + couponCode);
    
    Transport.send(message);
    System.out.println("이메일 전송 완료!");

} catch (MessagingException ex) {
    ex.printStackTrace();
}

위의 코드에서 your-email@gmail.comyour-password 부분을 송신자의 Gmail 계정 정보로 대체해야 합니다. 또한, recipient-email@example.com 부분을 수신자의 이메일 주소로 변경해야 합니다.

결론

이상으로 Javamail을 사용하여 이메일에 쿠폰 코드를 추가하는 방법을 살펴보았습니다. 이를 통해 사용자에게 이메일을 보낼 때 쿠폰 코드를 함께 제공하여 편리한 서비스를 제공할 수 있습니다.