[java] Javamail을 사용하여 이메일에 인터랙티브 버튼 추가하기

이메일을 보낼 때 일반적으로 텍스트, 이미지 및 링크를 추가할 수 있습니다. 하지만 Javamail을 사용하면 이메일에 인터랙티브한 버튼을 추가할 수도 있습니다. 이렇게 하면 사용자가 버튼을 클릭하면 원하는 작업을 수행할 수 있습니다.

1. Javamail 라이브러리 추가하기

먼저, 이메일에 인터랙티브 버튼을 추가하기 위해 Javamail 라이브러리를 Gradle 또는 Maven에 추가해야 합니다. 다음은 Gradle을 사용하는 경우 build.gradle 파일에 추가하는 방법입니다.

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

2. 인터랙티브 버튼 생성하기

이제 Javamail을 사용하여 인터랙티브 버튼을 생성해 보겠습니다. 다음은 예시 코드입니다.

import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;

public class EmailSender {
    public static void main(String[] args) {
        // SMTP 서버 설정
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.example.com");
        props.put("mail.smtp.port", "587");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");

        // 세션 생성
        Session session = Session.getInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("username", "password");
            }
        });

        try {
            // 메시지 생성
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress("from@example.com"));
            message.setRecipient(Message.RecipientType.TO, new InternetAddress("to@example.com"));
            message.setSubject("Example Email with Interactive Button");

            // HTML 형식의 이메일 본문 생성
            String htmlBody = "<h1>Welcome to my website!</h1>" +
                "<p>Click the button below to go to the website:</p>" +
                "<a href=\"https://www.example.com\"><button>Go to Website</button></a>";

            // 메시지에 HTML 본문 추가
            message.setContent(htmlBody, "text/html");

            // 이메일 전송
            Transport.send(message);
            System.out.println("Email sent successfully!");
        } catch (MessagingException e) {
            System.out.println("Failed to send email. Error message: " + e.getMessage());
        }
    }
}

3. 실행 및 결과 확인하기

위의 예시 코드를 실행하면 Javamail을 사용하여 인터랙티브 버튼이 포함된 이메일이 전송됩니다. 이메일을 확인하여 버튼을 클릭하면 지정된 웹사이트로 이동하는 것을 확인할 수 있습니다.

결론

Javamail을 사용하여 이메일에 인터랙티브 버튼을 추가하는 방법을 알아보았습니다. 이러한 기능을 활용하면 이메일을 보다 상호작용적이고 유용하게 만들 수 있습니다.