[java] Javamail 설정 및 구성

Javamail은 Java 언어로 이메일 보내기 및 받기를 할 수 있는 API입니다. 이 블로그 포스트에서는 Javamail을 설정하고 구성하는 방법에 대해서 알아보겠습니다.

1. Javamail 라이브러리 추가

먼저 프로젝트에 Javamail 라이브러리를 추가해야 합니다. 다음과 같은 의존성을 프로젝트의 build.gradle 파일에 추가하세요.

dependencies {
    implementation 'javax.mail:javax.mail-api:1.6.2'
    implementation 'com.sun.mail:javax.mail:1.6.2'
}

2. SMTP 서버 설정

Javamail을 사용하여 이메일을 보내려면 SMTP (Simple Mail Transfer Protocol) 서버의 설정이 필요합니다. 아래는 Gmail의 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");

SMTP 서버의 호스트, 포트, 인증 방식 및 TLS(Transport Layer Security) 사용 여부와 같은 속성을 설정해야 합니다. 위의 예시에서는 Gmail의 SMTP 서버를 사용하기 위해 해당 속성을 설정하였습니다.

3. 이메일 발송

다음은 Javamail을 사용하여 이메일을 발송하는 코드의 예시입니다.

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

try {
    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress("your-email@gmail.com"));
    message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient@example.com"));
    message.setSubject("Hello");
    message.setText("This is a test email.");

    Transport.send(message);

    System.out.println("Email sent successfully.");
} catch (MessagingException e) {
    e.printStackTrace();
}

위의 코드에서는 Session 객체를 생성한 후, Authenticator를 사용하여 발신 이메일 주소와 비밀번호를 지정합니다. 그리고 MimeMessage 객체를 생성하여 수신 이메일 주소, 제목 및 내용을 설정한 후 Transport 클래스의 send() 메서드를 호출하여 이메일을 보냅니다.

마무리

이렇게 Javamail을 설정하고 구성하여 이메일을 보내는 기능을 추가할 수 있습니다. Javamail의 다양한 기능과 속성을 사용하여 더욱 다양한 이메일 작업을 수행할 수 있습니다. 자세한 내용은 JavaMail API 문서를 참조하시기 바랍니다.