자바에서 이메일 발송을 구현하기 위해서는
Java Mail 라이브러리와 JAF(JavaBeans Activation Framework) 라이브러리를 추가해주어야 한다.
Java Mail 다운로드 바로가기 >> http://java.sun.com/products/javamail/downloads/index.html
JAF 다운로드 바로가기 >> http://java.sun.com/javase/technologies/desktop/javabeans/jaf/downloads/index.html
01.
import
java.util.*;
02.
import
javax.mail.*;
03.
import
javax.mail.internet.*;
04.
05.
public
class
TestEmailSender {
06.
private
static
final
String emailHost =
"smtp.gmail.com"
;
07.
private
static
final
String emailId =
"Gmail 계정"
;
08.
private
static
final
String emailPw =
"Gmail 비밀번호"
;
09.
10.
public
void
sendEmail(String from, String to, String subject, String content) {
11.
Properties props =
new
Properties();
12.
props.put(
"mail.smtp.starttls.enable"
,
"true"
);
13.
props.put(
"mail.smtp.host"
, emailHost);
14.
props.put(
"mail.smtp.auth"
,
"true"
);
15.
16.
EmailAuthenticator authenticator =
new
EmailAuthenticator(emailId, emailPw);
17.
18.
Session session = Session.getInstance(props, authenticator);
19.
20.
try
{
21.
Message msg =
new
MimeMessage(session);
22.
msg.setFrom(
new
InternetAddress(from));
23.
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
24.
25.
msg.setSubject(subject);
26.
msg.setContent(content,
"text/html; charset=EUC-KR"
);
27.
msg.setSentDate(
new
Date());
28.
29.
Transport.send(msg);
30.
}
catch
(MessagingException e) {
31.
e.printStackTrace();
32.
}
33.
}
34.
35.
class
EmailAuthenticator
extends
Authenticator {
36.
private
String id;
37.
private
String pw;
38.
39.
public
EmailAuthenticator(String id, String pw) {
40.
this
.id = id;
41.
this
.pw = pw;
42.
}
43.
44.
protected
PasswordAuthentication getPasswordAuthentication() {
45.
return
new
PasswordAuthentication(id, pw);
46.
}
47.
}
48.
49.
public
static
void
main(String[] args) {
50.
String subject =
"Gmail을 통한 Java Email 발송 테스트"
;
51.
String content =
"Gmail을 통한 Java Email 발송 테스트입니다."
;
52.
String from =
"보내는 이메일 주소"
;
53.
String to =
"받을 이메일 주소1,받을 이메일 주소2"
;
54.
// 받을 이메일 주소는 반드시 ","로 구분해준다.
55.
56.
new
TestEmailSender().sendEmail(from, to, subject, content);
57.
}
58.
}