[java] Javamail을 사용하여 이메일 보내기
Javamail은 자바 프로그램에서 이메일을 보내는 데 사용되는 라이브러리입니다. Javamail을 사용하면 SMTP (Simple Mail Transfer Protocol)를 통해 이메일을 보내고, POP3 (Post Office Protocol) 및 IMAP (Internet Message Access Protocol)을 통해 이메일을 읽을 수 있습니다.
Javamail 라이브러리 추가
먼저 Javamail을 사용하기 위해 프로젝트에 해당 라이브러리를 추가해야 합니다. Javamail 라이브러리는 Maven 또는 Gradle과 같은 의존성 관리 도구를 통해 쉽게 추가할 수 있습니다. 아래는 Maven을 사용하는 경우의 예시입니다.
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
이메일 보내기
이제 Javamail을 사용하여 이메일을 보내는 방법을 알아보겠습니다.
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class SendEmail {
public static void main(String[] args) {
// SMTP 서버 설정
Properties properties = new Properties();
properties.put("mail.smtp.host", "smtp.example.com");
properties.put("mail.smtp.port", "587");
properties.put("mail.smtp.auth", "true");
// SMTP 서버 인증 정보 설정
Authenticator authenticator = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("username", "password");
}
};
// 이메일 세션 생성
Session session = Session.getInstance(properties, authenticator);
try {
// 이메일 메시지 작성
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("sender@example.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("recipient@example.com"));
message.setSubject("Hello, Javamail!");
message.setText("This is a test email sent using Javamail.");
// 이메일 보내기
Transport.send(message);
System.out.println("Email sent successfully.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
위의 코드에서 “smtp.example.com”은 SMTP 서버의 호스트 주소를 의미합니다. “username”과 “password”는 사용자의 인증 정보입니다. “sender@example.com”은 이메일의 송신자 주소이고, “recipient@example.com”은 이메일의 수신자 주소입니다.
마치며
Javamail을 사용하여 자바 프로그램에서 이메일을 보내는 방법을 알아보았습니다. Javamail은 다양한 기능을 제공하므로, 필요에 따라 첨부 파일 추가, HTML 형식으로 이메일 작성 등을 할 수도 있습니다. 자세한 내용은 Javamail 공식 문서를 참고하시기 바랍니다.