[java] Javamail을 사용하여 다중 수신자에게 이메일 보내기
JavaMail은 Java에서 이메일을 보내는 데 사용되는 API입니다. 이를 사용하여 이메일을 보내는 방법을 알아보겠습니다.
필요한 라이브러리 가져오기
먼저, JavaMail을 사용하기 위해 다음 라이브러리를 프로젝트에 추가해야 합니다.
<dependencies>
<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>
</dependencies>
이메일 발송 코드 작성하기
다음은 JavaMail을 사용하여 다중 수신자에게 이메일을 보내는 예제 코드입니다.
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
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.host", host);
props.put("mail.smtp.auth", "true");
// 메일 세션 생성
Session session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
// 메일 메시지 생성
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(username));
message.setSubject("다중 수신자에게 이메일 보내기 예제");
// 수신자 이메일 주소 추가
String[] toAddresses = {"receiver1@example.com", "receiver2@example.com"};
Address[] recipients = new Address[toAddresses.length];
for (int i = 0; i < toAddresses.length; i++) {
recipients[i] = new InternetAddress(toAddresses[i]);
}
message.setRecipients(Message.RecipientType.TO, recipients);
// 이메일 내용 설정
message.setText("이 메일은 JavaMail을 사용하여 다중 수신자에게 보내집니다.");
// 이메일 보내기
Transport.send(message);
System.out.println("이메일이 성공적으로 보내졌습니다.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
위의 코드에서 host
, username
, password
를 SMTP 서버 및 사용자의 이메일 정보로 변경해야 합니다. 또한 toAddresses
에 수신자들의 이메일 주소를 설정할 수 있습니다.
결과 확인하기
위의 코드를 실행하면 다중 수신자에게 이메일이 발송됩니다. 성공적으로 이메일이 발송되면 콘솔에 “이메일이 성공적으로 보내졌습니다.” 메시지가 표시됩니다.