[java] Javamail을 사용하여 이메일에 커스텀 헤더 추가하기
Javamail은 Java에서 이메일 전송과 관련된 작업을 수행하기 위한 API입니다. 이메일을 보낼 때, 종종 커스텀 헤더를 추가해야 할 때가 있습니다. 이 튜토리얼에서는 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 javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import java.util.Properties;
public class EmailSender {
public static void main(String[] args) {
// SMTP 서버 설정
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", "your_smtp_host");
properties.setProperty("mail.smtp.port", "your_smtp_port");
// 세션 생성
Session session = Session.getDefaultInstance(properties);
try {
// MimeMessage 생성
MimeMessage message = new MimeMessage(session);
// 보내는 사람 설정
message.setFrom(new InternetAddress("sender@example.com"));
// 받는 사람 설정
message.addRecipient(RecipientType.TO, new InternetAddress("recipient@example.com"));
// Subject 설정
message.setSubject("Hello, World!");
// 커스텀 헤더 추가
message.addHeader("X-Custom-Header", "Custom Value");
// 메일 보내기
Transport.send(message);
System.out.println("메일이 성공적으로 전송되었습니다.");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
위의 코드에서 message.addHeader("X-Custom-Header", "Custom Value");
를 사용하여 이메일에 커스텀 헤더를 추가할 수 있습니다. X-Custom-Header
는 커스텀 헤더의 이름이고, Custom Value
는 해당 헤더의 값입니다.
결과 확인하기
코드를 실행하고 이메일을 확인하면, 이메일의 헤더에 X-Custom-Header: Custom Value
가 포함된 것을 확인할 수 있습니다. 다른 값으로 커스텀 헤더를 추가하려면, addHeader
메소드의 인자를 원하는 값으로 변경하면 됩니다.
결론
Javamail을 사용하여 이메일에 커스텀 헤더를 추가하는 간단한 예제를 살펴보았습니다. 커스텀 헤더를 사용하면 이메일의 추가적인 정보를 전송할 수 있으며, 이는 이메일 전송과 관련된 작업을 수행하는 데 유용합니다.