[java] 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 파일에 다음 의존성을 추가하세요:

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

이메일 보내기

아래 예시 코드는 Javamail을 사용하여 이메일을 보내는 예입니다:

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

public class SendEmail {
   public static void main(String [] args) {    
      // SMTP 서버 설정
      String host = "smtp.gmail.com";
      String from = "your-email@gmail.com";
      String password = "your-password";
      
      // 메일 제목과 내용
      String subject = "리뷰 요청";
      String body = "안녕하세요! 저희 제품에 대한 사용 후기를 남겨주실 수 있으신가요?";
      
      // 수신자 이메일 주소
      String[] to = { "recipient-email@example.com" };
      
      // 프로퍼티 설정
      Properties props = new Properties();
      props.put("mail.smtp.starttls.enable", "true");
      props.put("mail.smtp.ssl.trust", "smtp.gmail.com");
      props.put("mail.smtp.auth", "true");
      props.put("mail.smtp.host", host);
      props.put("mail.smtp.port", "587");

      // 세션 생성
      Session session = Session.getInstance(props, new javax.mail.Authenticator() {
         protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(from, password);
         }
      });

      try {
         // 이메일 메시지 작성
         MimeMessage message = new MimeMessage(session);
         message.setFrom(new InternetAddress(from));
         message.addRecipient(Message.RecipientType.TO, new InternetAddress(to[0]));
         message.setSubject(subject);
         message.setText(body);

         // 이메일 보내기
         Transport.send(message);
         System.out.println("이메일이 성공적으로 전송되었습니다.");
      } catch (MessagingException mex) {
         mex.printStackTrace();
      }
   }
}

이 예시는 Gmail SMTP 서버를 사용하여 이메일을 보내지만, 다른 이메일 서비스의 SMTP 서버를 사용할 수도 있습니다. 발신자 이메일과 비밀번호, 수신자 이메일 주소를 알맞게 변경하세요.

결과 확인

위의 예시 코드를 실행하면, 지정한 이메일 주소로 리뷰 요청 이메일이 전송됩니다. 메일이 성공적으로 전송되면 “이메일이 성공적으로 전송되었습니다.”라는 메시지가 출력됩니다.

결론

이제 Javamail을 사용하여 이메일에 리뷰 요청을 추가하는 방법을 배웠습니다. 이를 통해 비즈니스나 개인 사업에서 고객으로부터 소중한 피드백을 받을 수 있습니다. Javamail은 다양한 기능과 설정을 제공하므로, 필요에 따라 이를 활용하여 이메일 기능을 더욱 다양하게 확장할 수 있습니다.