[java] Javamail을 사용하여 텍스트 형식의 이메일 보내기
이 문서에서는 Javamail API를 사용하여 Java로 텍스트 형식의 이메일을 보내는 방법을 알아보겠습니다.
1. Javamail 라이브러리 가져오기
Javamail을 사용하기 위해서는 먼저 Javamail 라이브러리를 가져와야 합니다. Javamail은 JavaMail API와 JavaBeans Activation Framework (JAF) 두 가지 라이브러리로 구성되어 있습니다.
Maven을 사용한다면, pom.xml 파일에 다음 의존성을 추가하세요:
<dependencies>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>com.sun.activation</groupId>
<artifactId>javax.activation</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
2. 이메일 보내기 설정
이메일을 보내기 위해 필요한 설정을 해야 합니다. 아래 코드는 GMail SMTP 서버를 사용하는 예제입니다. 필요한 경우 호스트, 포트, 이메일 주소, 비밀번호 등을 변경하세요.
import java.util.Properties;
public class MailSender {
public static void main(String[] args) {
String host = "smtp.gmail.com";
int 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);
Authenticator authenticator = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
};
Session session = Session.getInstance(props, authenticator);
try {
// 이메일 보내기 코드 작성
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
3. 이메일 보내기
이제 실제로 이메일을 보내는 코드를 작성해보겠습니다. 아래 코드는 텍스트 형식의 이메일을 보내는 예제입니다.
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MailSender {
public static void main(String[] args) {
// 이전 코드 생략
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(username));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient@example.com"));
message.setSubject("Hello from Javamail");
message.setText("This is a test email from Javamail. Enjoy!");
Transport.send(message);
System.out.println("Email sent successfully.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
위 코드에서 setFrom
, setRecipients
, setSubject
, setText
메소드를 사용하여 이메일의 송신자, 수신자, 제목, 본문을 설정할 수 있습니다.
결론
이 문서에서는 Javamail API를 사용하여 Java로 텍스트 형식의 이메일을 보내는 방법을 알아보았습니다. Javamail을 사용하면 프로그램에서 이메일을 자동으로 보낼 수 있으며, 여러 가지 설정을 통해 보안 및 인증 등을 관리할 수 있습니다.