[java] Javamail을 사용하여 이메일에 새로운 상품 안내 추가하기

이번 포스트에서는 Javamail 라이브러리를 사용하여 이메일에 새로운 상품 안내를 추가하는 방법을 알아보겠습니다.

Javamail 라이브러리 설치

Javamail은 Java 프로그램에서 이메일 관련 작업을 수행할 수 있도록 도와주는 라이브러리입니다. Javamail 라이브러리를 사용하기 위해서는 다음과 같이 의존성을 추가해야 합니다.

<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>

의존성을 추가한 후에는 Maven이나 Gradle을 통해 라이브러리를 다운로드 받고 프로젝트에 추가해야 합니다.

이메일에 새로운 상품 안내 추가하기

import javax.mail.*;
import javax.mail.internet.*;

public class EmailSender {
    public static void main(String[] args) {
        // 이메일 발송에 필요한 정보 설정
        String host = "smtp.gmail.com";
        int port = 587;
        String username = "your-email@gmail.com";
        String password = "your-password";
        String recipient = "recipient-email@gmail.com";
        String subject = "새로운 상품 안내";
        String content = "새로운 상품이 추가되었습니다!";

        // Properties 객체 생성 및 SMTP 서버 설정
        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.port", port);

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

        try {
            // MimeMessage 객체 생성
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(username));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipient));
            message.setSubject(subject);
            message.setText(content);

            // 메일 발송
            Transport.send(message);

            System.out.println("이메일이 성공적으로 발송되었습니다!");
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}

위의 코드는 Javamail을 사용하여 이메일을 발송하는 간단한 예제입니다. host, port, username, password, recipient, subject, content 변수를 자신의 환경에 맞게 수정한 후 실행하면 이메일이 발송됩니다.

결론

Javamail을 사용하면 Java 프로그램에서 이메일을 발송하는 작업을 간편하게 수행할 수 있습니다. 이를 응용하여 새로운 상품 안내 메일 등 다양한 이메일 기능을 구현할 수 있습니다.


참고 자료: