[java] Javamail을 사용하여 이메일에 프로모션 코드 추가하기
이메일에 프로모션 코드를 추가하는 것은 고객과의 상호작용과 마케팅 전략에 중요한 역할을 합니다. Javamail 라이브러리를 사용하면 Java 언어로 이메일을 보낼 수 있으며, 이메일 내용에 프로모션 코드를 삽입하는 기능을 구현할 수 있습니다.
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
파일에 다음 의존성을 추가합니다.
dependencies {
implementation 'javax.mail:javax.mail-api:1.6.2'
implementation 'com.sun.mail:javax.mail:1.6.2'
}
이메일 전송하기
Javamail을 사용하여 이메일을 보내는 간단한 예제를 살펴보겠습니다. 아래 코드는 smtp.gmail.com
서버를 사용하여 Gmail 계정으로 이메일을 보내는 예제입니다. 이메일 제목과 본문 내용에 프로모션 코드를 추가하도록 하겠습니다.
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class EmailSender {
public static void main(String[] args) {
String to = "example@example.com";
String from = "your-email@gmail.com";
String password = "your-password";
// SMTP 서버 설정
Properties properties = new Properties();
properties.put("mail.smtp.host", "smtp.gmail.com");
properties.put("mail.smtp.port", "587");
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");
// 세션 생성
Session session = Session.getInstance(properties, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, password);
}
});
try {
// 이메일 작성
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("프로모션 코드 안내");
// 이메일 본문에 프로모션 코드 추가
String promotionCode = "PROMO123";
String emailText = "프로모션 코드를 사용하여 10% 할인을 받을 수 있습니다. 코드: " + promotionCode;
message.setText(emailText);
// 이메일 보내기
Transport.send(message);
System.out.println("이메일이 성공적으로 전송되었습니다.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
위 예제에서 from
값은 이메일을 보내는 계정의 이메일 주소로, password
값은 해당 계정의 비밀번호로 대체해야 합니다. 또한 to
값은 이메일을 받을 수신자의 이메일 주소로 변경해야 합니다.