[java] Javamail을 사용하여 이메일에 사진 갤러리 추가하기

이메일은 현대의 커뮤니케이션에서 중요한 역할을 담당합니다. 이제는 이메일을 통해 사진을 공유하고 전송하는 것이 일반적입니다. Java 프로그래밍 언어를 통해 Javamail 라이브러리를 활용하여 이메일에 사진 갤러리를 추가하는 방법에 대해 알아보겠습니다.

Javamail 라이브러리 추가하기

먼저, 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>

위의 의존성을 pom.xml 파일에 추가하여 Javamail 라이브러리를 프로젝트에 포함시킬 수 있습니다.

사진 갤러리 첨부하기

Javamail을 사용하여 이메일에 사진을 첨부하는 방법은 다음과 같습니다.

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

public class EmailExample {
    public static void main(String[] args) {
        final String username = "your_email@gmail.com";
        final String password = "your_password";
        
        String to = "recipient@example.com";
        String subject = "사진 갤러리 메일";
        String body = "안녕하세요! 사진 갤러리를 첨부한 이메일입니다.";

        // SMTP 서버 설정
        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "587");

        // 세션 생성
        Session session = Session.getInstance(props, new 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(to));
            message.setSubject(subject);

            // MimeBodyPart를 사용하여 본문 텍스트 추가
            MimeBodyPart messageBodyPart = new MimeBodyPart();
            messageBodyPart.setContent(body, "text/plain");

            // Multipart 객체 생성 및 본문 텍스트 추가
            Multipart multipart = new MimeMultipart();
            multipart.addBodyPart(messageBodyPart);

            // 사진 파일 첨부
            for (int i = 1; i <= 5; i++) {
                MimeBodyPart attachmentBodyPart = new MimeBodyPart();
                attachmentBodyPart.attachFile("photo" + i + ".jpg");
                multipart.addBodyPart(attachmentBodyPart);
            }

            // 메시지의 본문에 Multipart 추가
            message.setContent(multipart);

            // 이메일 전송
            Transport.send(message);

            System.out.println("이메일 전송 완료!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서는 Javamail을 사용하여 사진 파일을 첨부하는 부분을 보실 수 있습니다. MimeBodyPart를 사용하여 사진 파일을 첨부하고 Multipart 객체를 생성하여 본문과 첨부 파일을 추가한 후, message.setContent(multipart)로 메시지의 본문에 Multipart를 추가합니다. 마지막으로 Transport.send(message)로 이메일을 전송하는 것입니다.

이제 Javamail을 사용하여 이메일에 사진 갤러리를 추가하는 방법을 알게 되었습니다. 이를 응용하여 다양한 기능을 구현해보세요. 자세한 내용은 Javamail Documentation를 참조하시면 도움이 될 것입니다.