자바에서 이메일 발송을 구현하기 위해서는
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.}

+ Recent posts