[java] Javamail을 사용하여 이메일에 입장권 추가하기

JavaMail은 Java 프로그램에서 이메일을 보내고 받을 수 있는 API입니다. Javamail을 사용하여 이메일에 입장권을 추가하는 방법을 알아보겠습니다.

1. Javamail 라이브러리 가져오기

먼저, Javamail 라이브러리를 프로젝트에 추가해야 합니다. 다음과 같이 Maven을 사용하는 경우 pom.xml 파일에 다음 의존성을 추가합니다:

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

2. 이메일에 입장권 추가하기

아래는 Javamail을 사용하여 이메일에 입장권을 추가하는 간단한 예제 코드입니다.

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

public class EmailSender {
    public static void main(String[] args) {
        // SMTP 서버 설정
        String host = "smtp.example.com";
        String username = "your_email@example.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", "587");

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

        try {
            // 메시지 생성
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(username));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient@example.com"));
            message.setSubject("이벤트에 참석해주세요!");
            message.setText("안녕하세요!\n이벤트에 참석하시는 분께 입장권을 보내드립니다.");
            
            // 입장권 첨부
            Multipart multipart = new MimeMultipart();
            MimeBodyPart textPart = new MimeBodyPart();
            textPart.setText("이벤트 입장권 파일이 첨부되었습니다.");
            MimeBodyPart filePart = new MimeBodyPart();
            filePart.attachFile("/path/to/ticket.pdf");
            multipart.addBodyPart(textPart);
            multipart.addBodyPart(filePart);
            message.setContent(multipart);
            
            // 메일 전송
            Transport.send(message);

            System.out.println("이메일이 성공적으로 전송되었습니다.");

        } catch (MessagingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제 코드에서 host, username, password, recipient@example.com/path/to/ticket.pdf 요소를 본인의 환경에 맞게 수정하세요.

결론

Javamail을 사용하여 이메일에 입장권을 추가하는 방법에 대해 알아보았습니다. 위의 예제 코드를 참고하여 본인의 프로젝트에 적용해 보세요. 이메일을 보내고 입장권을 첨부하여 이벤트에 참석하시는 분들에게 편리함을 제공할 수 있습니다.