Java/Tip & Tech2009. 6. 18. 16:36

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

Posted by Huikyun