자바

JSP 메일보내기 jsp 메일 전송 예제

알통몬_ 2017. 5. 5. 11:14
반응형


안녕하세요 알통몬입니다.

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^

 

jsp 에서 메일을 보내는 예제입니다.


1. 오라클 사이트에서 2개의 라이브러리를 먼저 다운받아야 합니다.

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html#javamail-1.4.7-oth-JPR

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jaf-1.1-fr-oth-JPR


위 두개를 다운받아 주세요.


저는 이메일 인증번호를 보내는 예제를 만들어봤어요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<%@ page language="java" contentType="text/html; charset=UTF-8"
 
    pageEncoding="UTF-8"%>
 
<%@ page import="java.util.*"%>
 
<%@ page import="javax.activation.*"%>
 
<%@ page import="javax.mail.*"%>
 
<%@ page import="javax.mail.internet.*"%>
 
<%@ page import="init.Info"%>
 
<%@ page import="init.Members"%>
 
 
 
<%!
 
    public class MyAuthentication extends Authenticator { //아이디 패스워드 인증받기 함수
 
        PasswordAuthentication pa;
 
 
 
        public MyAuthentication(String mail, String pwd) {
 
            pa = new PasswordAuthentication(mail, pwd);
 
        }
 
 
 
        @Override
 
        protected PasswordAuthentication getPasswordAuthentication() {
 
            return pa;
 
        }
 
    }
 
%>
 
 
 
 
 
<%
 
    request.setCharacterEncoding("UTF-8");
 
    // SMTP 서버 주소
 
    //받는 사람의 정보
 
    String toEmail = request.getParameter("email");
 
    
 
        Info info = new Info();
 
 
 
        String fromName = info.getFromName();
 
        String fromEmail = info.getFromMail();
 
 
 
        try {
 
            Properties props = new Properties();
 
            props.put("mail.smtp.host""smtp.worksmobile.com"); 
 
                       // 저는 네이버웍스 메일을 사용했어요.
 
            props.put("mail.smtp.port""587");
 
            props.put("mail.smtp.auth""true");
 
 
 
            // 메일 인증
 
            Authenticator myauth = new MyAuthentication("보낼 이메일""비밀번호");
 
            Session sess = Session.getInstance(props, myauth);
 
 
 
            InternetAddress addr = new InternetAddress();
 
            addr.setPersonal(fromName, "UTF-8");
 
            addr.setAddress("보내는 이메일");
 
 
 
            Message msg = new MimeMessage(sess);
 
            msg.setFrom(addr);
 
            int auth_number = (int) ((Math.random() * 900000+ 100000);
 
            String auth_num = String.valueOf(auth_number);
 
            /*"AUTH_NUMBER : ["+auth_num+"]"  */
 
            msg.setSubject(MimeUtility.encodeText("JUMO authentication number""utf-8""B"));
 
            msg.setContent("AUTH_NUMBER : [" + auth_num + "]""text/html;charset=utf-8");
 
            msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail));
 
 
 
            Transport.send(msg);
 
            String result = members.updateAuth(toEmail, auth_num);
 
            out.print(result);
 
        } catch (Exception e) {
 
            e.printStackTrace();
 
            return;
 
        }
 
    //보내는 사람의 정보
 
    
 
%> 
cs



AUTH_NUMBER : [" + auth_num + "] 여기에 보내고 싶은 내용을 입력하시면 됩니다.


이상입니다.


저는 위 예제를 안드로이드 앱에서 회원가입 할 때 이메일 주소를 인증하는 용도로 사용했어요~


반응형