[java] Javamail을 사용하여 이메일에 노트 추가하기

이제 Javamail을 사용하여 Java 프로그램에서 이메일에 노트(메모)를 추가하는 방법에 대해 알아보겠습니다.

1. Javamail 라이브러리 추가

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

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

Gradle을 사용하는 경우, build.gradle 파일에 다음 종속성을 추가합니다:

implementation 'javax.mail:javax.mail-api:1.6.2'
implementation 'com.sun.mail:javax.mail:1.6.2'

2. 이메일에 노트 추가하기

이제 Javamail을 사용하여 이메일에 노트를 추가하는 예제 코드를 작성해보겠습니다. 다음은 Gmail을 사용하여 이메일에 노트를 추가하는 예제입니다:

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

public class EmailNoteAdder {
    private static final String SMTP_HOST = "smtp.gmail.com";
    private static final int SMTP_PORT = 587;
    private static final String EMAIL_FROM = "your-email@gmail.com";
    private static final String EMAIL_PASSWORD = "your-email-password";
    
    public static void main(String[] args) {
        String emailTo = "recipient-email@example.com";
        String subject = "Note: Important";
        String body = "This is an important note.";
        
        Properties props = new Properties();
        props.put("mail.smtp.host", SMTP_HOST);
        props.put("mail.smtp.port", String.valueOf(SMTP_PORT));
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");

        Session session = Session.getInstance(props, new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(EMAIL_FROM, EMAIL_PASSWORD);
            }
        });

        try {
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(EMAIL_FROM));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(emailTo));
            message.setSubject(subject);
            message.setText(body);

            Transport.send(message);
            System.out.println("Note added to the email successfully.");
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 다음 부분을 수정하여 실제 이메일 정보를 입력하세요:

이제 코드를 실행하면, 지정된 이메일 주소로 노트가 추가된 이메일이 전송됩니다.

결론

Javamail을 사용하여 Java 프로그램에서 이메일에 노트를 추가하는 방법을 살펴보았습니다. 이를 통해 프로그래밍적으로 이메일에 메모를 추가할 수 있으며, 이를 활용하여 다양한 기능을 구현할 수 있습니다.

참고 자료