国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - javamail實現(xiàn)注冊激活郵件

javamail實現(xiàn)注冊激活郵件

2020-09-16 15:54成兮 Java教程

這篇文章主要為大家詳細介紹了javamail實現(xiàn)注冊激活郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了javamail注冊激活郵件的具體代碼,供大家參考,具體內(nèi)容如下

需要的jar包

1.MySQL驅動包
2.mail.jar包

SMTP和POP3協(xié)議概述

SMTP協(xié)議稱為簡單郵件傳輸協(xié)議,是一組用于從原地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉方式。SMTP協(xié)議屬于TCP/IP的協(xié)議簇,SMTP是負責郵件服務器之間的寄信的通信協(xié)定 POP3協(xié)議稱為郵局協(xié)議版本3,也是TCP/IP協(xié)議簇的一員,基于POP3協(xié)議的服務器是用來接收信件的。每個Email地址一般只有一個如果想要同時收取多個郵箱的信件,就需要挨個設置每個郵箱的POP3服務器地址。

javamail實現(xiàn)注冊激活郵件

核心代碼實現(xiàn)

?
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
#創(chuàng)建數(shù)據(jù)庫表
create database javamail;
use javamail;
create table user(
 id int primary key auto_increment,
 username varchar(30) not null,
 password varchar(30) not null,
 nickname varchar(30) not null,
 email varchar(30) not null,
 state int default 0, #標識是否已經(jīng)激活 0未激活1已激活
 code varchar(64) not null
);
 
//創(chuàng)建數(shù)據(jù)庫對應的javabean
public class UserBean{
 private Integer id;
 private String username;
 private String password;
 private String nickname;
 private String email;
 private Integer state;
 private String code;
 //省略setter and getter
}
 
//數(shù)據(jù)庫操作類UserDao
public class UserDao{
 private Connection conn ;
 //獲取數(shù)據(jù)庫連接
 public void getConn(){
  Class.forName("com.mysql.jdbc.Driver");
  String url = "mysql:jdbc://localhost:3306/javamail";
  String rootname = "root";
  String rootpass = "chengxi";
  conn = DriverManager.getConnection(url,rootname,rootpass);
 }
 
 //注冊
 public void regist(UserBean user){
 
  String sql = "insert into user(username,password,nickname,email,code) values(?,?,?,?,?)";
  PreparedStatement pstmt = conn.preparedCall(sql);
  pstmt.setString(1,user.getUsername());
  pstmt.setString(2,user.getPassword());
  pstmt.setString(3,user.getNickname());
  pstmt.setStirng(4,user.getEmail());
  pstmt.setString(5,user.getCode());
  pstmt.executeUpdate();
 }
 
 //激活
 public void activeByCode(String code){
 
  String sql = "update user set state=1,code=null where code=?";
  PreparedStatement pstmt = conn.preparedCall(sql);
  pstmt.setString(1,code);
  pstmt.executeUpdate();
 }
 
 //關閉數(shù)據(jù)庫連接
 public void closeConn(){
  if(conn != null){
   conn.close();
  }
 }
}
 
//一個工具類,用于獲取隨機code注冊激活碼
public class UUIDUtils{
 public static String getUUID(){
  return UUID.randomUUID().toString().replace("-","")+UUID.randomUUID().toString().replace("-","");
 }
}
 
 
//index.jsp前端頁面實現(xiàn)
<form action="<%=request.getContextPath()%>/regist.do" method="post">
 <tr>
  <td><label for="username">賬號</label></td>
  <td><input type="text" name="username" /></td>
 </tr>
 <tr>
  <td><label for="password">密碼</label></td>
  <td><input type="text" name="password" /></td>
 </tr>
 <tr>
  <td><label for="nickname">昵稱</label></td>
  <td><input type="text" name="nickname" /></td>
 </tr>
 <tr>
  <td><label for="email">郵箱</label></td>
  <td><input type="text" name="email" /></td>
 </tr>
 <tr>
  <td><input type="submit" value="注冊" /></td>
  <td><input type="reset" name="重寫" /></td>
 </tr>
</form>
 
//發(fā)送郵件的Utils工具類
public class SendMailUitls{
 
 public static void sendMail(String to,String code){
  //session是mail包下的,因為是本地測試,所以第一個參數(shù)直接創(chuàng)建默認的即可
  Session session = Session.getInstance(new Properties(),new Authenticator() {
    @Override
    protected PasswordAuthentication getPasswordAuthentication(){
     return new PasswordAuthentication("server@store.com", "111");
    }
   });
 
  //創(chuàng)建郵件對象
  Message message = new MimeMessage(session);
  //設置發(fā)件人,這里我創(chuàng)建了一個server@store.com用于發(fā)送郵件
  message.setFrom(new InternetAddress("server@store.com"));
  message.setRecipient(RecipientType.TO, new InternetAddress(to));
  message.setSubject("來自個博網(wǎng)的注冊激活郵件");
  message.setContent("<a href='http://localhost:8080/RegistMailWeb/active.do'>點我激活</a>","text/html;charset=utf-8");
 
  //發(fā)送郵件
  Transport.send(message);
 }
}
 
 
//regist.doServlet實現(xiàn)
public class RegistServlet extends HttpServlet{
 public void init(){
  super.init();
 }
 
 public void service(HttpServletRequest request,HttpServletResponse response){
  //獲取數(shù)據(jù)
  String username = request.getParameter("username");
  String password = request.getParameter("password");
  String nickname = request.getParameter("nickname");
  String email = request.getParameter("email");
 
  //封裝數(shù)據(jù)
  UserBean user = new UserBean();
  user.setUsername(username);
  user.setPassword(password);
  user.setNickname(nickname);
  user.setEmail(email);
  user.setCode(UUIDUtils.getUUID());
 
  //注冊
  UserDao dao = new UserDao();
  dao.getConn();
  dao.regist(user);
  dao.closeConn();
 
  //發(fā)送郵件
  SendMailUtils.sendMail(email,user.getCode());
 }
 
 public void destroy(){
  super.desroy();
 }
}
 
//創(chuàng)建active.do Servlet用于激活郵箱
public class ActiveServlet HttpServlet{
 public void init(){
  super.init();
 }
 
 public void service(HttpServletRequest request,HttpServletResponse response){
 
  //獲取數(shù)據(jù)
  String code = request.getParameter("code");
 
  //數(shù)據(jù)庫判斷對應code是否存在,(這里就不進行判斷了,直接進行比對)state=1&code=null代表激活
  UserDao dao = new UserDao();
  dao.activeByCode(code);
 
  //重定向success.jsp
  request.getRequestDispatcher("/WEB-INF/success.jsp").forward(request,response);
 }
 
 public void destroy(){
  super.destroy();
 }
}

編寫成功頁面

?
1
2
3
4
5
6
7
8
9
10
11
12
<html>
 <head>
  <title>成功激活</title>
 </head>
 <body>
  <script>
   window.onload = function(){
    alert("已成功激活");
   };
  </script>
 </body>
</html>

web.xml配置兩個Servlet

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<servlet>
 <servlet-name>RegistServlet</servlet-name>
 <servlet-class>com.servlet.RegistServlet</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>RegistServlet</servlet-name>
 <url-pattern>/regist.do</url-pattern>
</servlet-mapping>
 
<servlet>
 <servlet-name>ActiveServlet</servlet-name>
 <servlet-class>com.servlet.ActiveServlet</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>ActiveServlet</servlet-name>
<url-pattern>/active.do</url-pattern>

效果

打開tomcat服務器和foxmail郵件服務器,然后進入該web首頁,點擊注冊,可以在foxmail中看到對應的email@store.com郵箱中有一封注冊郵箱,點擊該郵箱中的鏈接,就進入了激活頁面,然后該注冊的賬號就激活注冊成功了

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一区视频 | 三级av在线 | 亚洲欧美在线观看 | 国产精品一区在线 | 国产欧美视频在线 | 亚洲人成在线播放 | 狠狠操综合网 | 欧美亚洲国产日韩 | 久久国产精品偷 | 四房婷婷 | 日韩在线观看中文字幕 | 久久久精品综合 | av毛片免费看| 久在线| 综合精品久久久 | 免费中文字幕 | 日韩欧美天堂 | 日韩精品一区二区三区丰满 | 亚洲精品乱码久久久久久蜜桃91 | 在线精品一区 | 亚洲第一视频 | 中文字幕一区二区三区四区五区 | 伊人99| 成人综合免费视频 | 免费在线成人网 | 国产精品色一区二区三区 | 国产成人精品一区二 | 欧洲精品久久久 | 亚洲欧美精品 | 国产精品99精品久久免费 | 香蕉成人啪国产精品视频综合网 | 色www精品视频在线观看 | 九九热视频精品在线观看 | 视频一区二区三区中文字幕 | 日韩操操| 爱色av网址 | 青青艹在线视频 | 亚洲欧美综合精品久久成人 | 成人av电影网| 久久精品福利 | 精品自拍视频 |