JavaWeb QQ邮箱找回密码
生活随笔
收集整理的這篇文章主要介紹了
JavaWeb QQ邮箱找回密码
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我的上一篇博客,已經(jīng)寫(xiě)了登錄注冊(cè),接下來(lái)寫(xiě)QQ郵箱找回密碼
首先:我們需要在 QQ郵箱設(shè)置中獲取授權(quán)碼,步驟如下
進(jìn)入QQ郵箱---->設(shè)置---->賬戶---->開(kāi)啟服務(wù):POP3/SMTP服務(wù)---->保存授權(quán)碼
**其次:**我百度云盤里保存了可以提取,也可以百度下載
鏈接:https://pan.baidu.com/s/1IT_1sDNvALVh-H_78nMXaA
提取碼:btnb
導(dǎo)入項(xiàng)目中 或者
**最后:**代碼展示
1.SendEmial.jsp(前端頁(yè)面)
<form name="f1" id="f1" action="sedEmail" method="post"><table border="0"><tr><td colspan="1"><center><h3>郵箱找回密碼</h3></center></td></tr><tr><td><input type="text" name="email" id="email" placeholder="請(qǐng)輸入您的郵箱號(hào)"> </td><td colspan="1"><center><font color="red" size="2"> ${MSG}</font></center></td></tr><tr><td><input type="submit" value="確認(rèn)"></td><td colspan="1"><center><font color="red" size="2"> ${MSG3}</font></center></td></tr></table></form><a href="login.jsp" style="margin-left: 70px;"><font size="2"><i>返回登錄</i></font> </a>2.CheckSendEmail.java(servlet進(jìn)行數(shù)據(jù)處理,發(fā)送郵件)
package com.aiit.service;import java.io.IOException; import java.io.PrintWriter; import java.util.Properties;import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.aiit.dao.SendEmail; import com.aiit.model.Login; @WebServlet("/sedEmail") public class CheckSendEmail extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//接收頁(yè)面?zhèn)鬟^(guò)來(lái)的QQ郵箱號(hào)String email = request.getParameter("email");//傳到數(shù)據(jù)庫(kù),判斷是否存在,如果存在,返回用戶賬號(hào)信息SendEmail send = new SendEmail();Login login = send.getEmail(email);//System.out.println(login.getEmail());//to接收的是用戶注冊(cè)時(shí)的郵箱號(hào),也就是就是收件人的,將接收到后臺(tái)發(fā)送的密碼String to = login.getEmail();// 發(fā)件人電子郵箱,你可以改成自己的郵箱號(hào)String from = "********@qq.com";// 指定發(fā)送郵件的主機(jī)為 smtp.qq.comString host = "smtp.qq.com"; //QQ 郵件服務(wù)器// 獲取系統(tǒng)屬性Properties properties = System.getProperties(); // 設(shè)置郵件服務(wù)器properties.setProperty("mail.smtp.host", host); properties.put("mail.smtp.auth", "true");// 獲取默認(rèn)session對(duì)象Session session = Session.getDefaultInstance(properties,new Authenticator(){public PasswordAuthentication getPasswordAuthentication(){return new PasswordAuthentication("********@qq.com", "kwifhodgdpbldigd"); //發(fā)件人郵件用戶名、授權(quán)碼(授權(quán)碼要與QQ郵箱相對(duì)應(yīng),可以從郵箱設(shè)置里面獲得,詳細(xì)步驟在博客開(kāi)頭)}}); try{// 創(chuàng)建默認(rèn)的 MimeMessage 對(duì)象MimeMessage message = new MimeMessage(session); // Set From: 頭部頭字段message.setFrom(new InternetAddress(from)); // Set To: 頭部頭字段message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));// Set Subject: 頭部頭字段message.setSubject("This is the Subject Line!");// 設(shè)置消息體message.setText("您的員工管理系統(tǒng),密碼是:"+login.getLoginPwd());// 發(fā)送消息Transport.send(message);//System.out.println("Sent message successfully....from runoob.com");//傳到頁(yè)面request.setAttribute("MSG3", "發(fā)送成功,請(qǐng)注意查收!");request.getRequestDispatcher("SendEmial.jsp").forward(request, response);}catch (MessagingException mex) {mex.printStackTrace();} } }3.SendEmail.java(數(shù)據(jù)庫(kù))
package com.aiit.dao;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;import com.aiit.common.JDBCUtils; import com.aiit.model.Login;public class SendEmail {public Login getEmail(String email){//先查找前端頁(yè)面?zhèn)鬟^(guò)來(lái)的郵箱是否存在,若存在則把賬號(hào)、密碼、郵箱返回給servletLogin login = null;Connection conn = (Connection) JDBCUtils.getConnection();String sql="SELECT loginName,loginPwd,loginEmail FROM tbl_login WHERE loginEmail=?";try {PreparedStatement pre = (PreparedStatement) conn.prepareStatement(sql);pre.setString(1, email);ResultSet rs = pre.executeQuery();if(rs.next()){String loginName=rs.getString(1);String loginPwd=rs.getString(2);String loginEmail = rs.getString(3); login = new Login(loginName,loginPwd,loginEmail); return login;}else{return login;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} return login;} }效果展示
上面我們只向郵箱里發(fā)功了一個(gè)消息,這種信息不美觀,下面我們修改成向郵箱發(fā)送一個(gè)頁(yè)面,其他操作都一樣我們只需要改一下發(fā)送信息的內(nèi)容
package src.com.haihang.email;import java.text.SimpleDateFormat; import java.util.*; import javax.activation.*; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;public class SendEmail {public static void main(String [] args){ String to = "2053696385@qq.com";// 發(fā)件人電子郵箱String from = "2053696385@qq.com";// 指定發(fā)送郵件的主機(jī)為 smtp.qq.comString host = "smtp.qq.com"; //QQ 郵件服務(wù)器// 獲取系統(tǒng)屬性Properties properties = System.getProperties();// 設(shè)置郵件服務(wù)器properties.setProperty("mail.smtp.host", host);properties.put("mail.smtp.auth", "true");// 獲取默認(rèn)session對(duì)象Session session = Session.getDefaultInstance(properties,new Authenticator(){public PasswordAuthentication getPasswordAuthentication(){return new PasswordAuthentication("2053696385@qq.com", "kwifhodgdpbldigd"); //發(fā)件人郵件用戶名、授權(quán)碼}});try{// 創(chuàng)建默認(rèn)的 MimeMessage 對(duì)象MimeMessage message = new MimeMessage(session);// Set From: 頭部頭字段message.setFrom(new InternetAddress(from));// Set To: 頭部頭字段message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));// Set Subject: 頭部頭字段message.setSubject("This is the Subject Line!");// 設(shè)置消息體// message.setText("東哥最帥");String msgContent = "<!DOCTYPE html>"+"<html>"+"<head>"+"<meta charset='utf-8' />"+"<title>歡迎使用員工管理系統(tǒng)</title>"+"</head>"+"<body>"+"親愛(ài)的會(huì)員 ,您好,"+"<br/><br/> " +"您在" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ").format(new Date())+"提交找回密碼的請(qǐng)求。"+"<br/><br/>"+"以下是您的帳戶及密碼信息:"+"<br/><br/>"+ "用戶名:,密碼:"+"<br/> <br/>"+"感謝您使用本系統(tǒng)。"+"<br/>"+"此為自動(dòng)發(fā)送郵件,請(qǐng)勿直接回復(fù)!"+"</body>"+"</html>"; message.setContent(msgContent, "text/html;charset=utf-8");// 設(shè)置郵件內(nèi)容,為html格式 // 發(fā)送消息Transport.send(message);System.out.println("Sent message successfully....from runoob.com");}catch (MessagingException mex) {mex.printStackTrace();}} }效果展示
總結(jié)
以上是生活随笔為你收集整理的JavaWeb QQ邮箱找回密码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Boilsoft Video Split
- 下一篇: Android分区存储