[java] Javamail을 사용하여 이메일에 정기결제 안내 추가하기

이메일은 비즈니스 환경에서 중요한 소통 수단입니다. 정기결제와 관련된 안내를 이메일로 전송하려면 Javamail API를 사용할 수 있습니다. 이 문서에서는 Javamail을 사용하여 이메일에 정기결제 안내를 추가하는 방법을 알아보겠습니다.

Javamail API 설정하기

Javamail API는 JavaMail 라이브러리를 의미하며, 이를 사용하여 이메일을 보내고 수신할 수 있습니다. Javamail API의 최신 버전을 다운로드하고 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음 종속성을 추가합니다:

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>javax.mail-api</artifactId>
    <version>1.6.2</version>
</dependency>

이메일 전송 코드 작성하기

이메일을 보내기 위해 Javamail API를 사용하는 코드를 작성해야 합니다. 아래의 예제 코드는 Gmail SMTP 서버를 사용하여 이메일을 보내는 방법을 보여줍니다:

import java.util.Properties;
import javax.mail.Session;
import javax.mail.Message;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class EmailSender {
    public static void main(String[] args) {
        String host = "smtp.gmail.com";
        String port = "587";
        String username = "your_email@gmail.com";
        String password = "your_password";

        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.getInstance(props, new javax.mail.Authenticator() {
            protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
                return new javax.mail.PasswordAuthentication(username, password);
            }
        });

        try {
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("your_email@gmail.com"));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient_email@gmail.com"));
            message.setSubject("정기결제 안내");
            message.setText("안녕하세요, 정기결제 안내입니다.");

            Transport.send(message);

            System.out.println("이메일을 성공적으로 보냈습니다.");

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서는 Gmail의 SMTP 서버를 사용하여 이메일을 보냅니다. 따라서 usernamepassword를 Gmail 계정에 맞게 설정해야 합니다.

실행해보기

위의 코드를 실행하면 지정한 수신자에게 “정기결제 안내”라는 제목과 “안녕하세요, 정기결제 안내입니다.”라는 내용이 포함된 이메일이 전송됩니다.

이러한 방식으로 Javamail을 사용하여 이메일에 정기결제 안내를 추가할 수 있습니다.