日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件

發布時間:2024/9/20 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現在很多的網站都提供有用戶注冊功能,?通常我們注冊成功之后就會收到一封來自注冊網站的郵件。郵件里面的內容可能包含了我們的注冊的用戶名和密碼以及一個激活賬戶的超鏈接等信息。今天我們也來實現一個這樣的功能,用戶注冊成功之后,就將用戶的注冊信息以Email的形式發送到用戶的注冊郵箱當中,實現發送郵件功能就得借助于JavaMail了。

一、搭建開發環境

1.1、創建Web項目

  

1.2、用戶注冊的Jsp頁面

register.jsp

1 <%@ page language="java" pageEncoding="UTF-8"%>2 <!DOCTYPE HTML>3 <html>4 <head>5 <title>注冊頁面</title>6 </head>7 8 <body>9 <form action="${pageContext.request.contextPath}/servlet/RegisterServlet" method="post"> 10 用戶名:<input type="text" name="username"><br/> 11 密碼:<input type="password" name="password"><br/> 12 郵箱:<input type="text" name="email"><br/> 13 <input type="submit" value="注冊"> 14 </form> 15 </body> 16 </html>

1.3、消息提示頁面

message.jsp

1 <%@ page language="java" pageEncoding="UTF-8"%>2 <!DOCTYPE HTML>3 <html>4 <head>5 <title>消息提示頁面</title>6 </head>7 8 <body>9 ${message} 10 </body> 11 </html>

二、編寫處理用戶注冊處理程序

2.1、開發封裝用戶注冊信息的domain

User.java

1 package me.gacl.domain;2 3 public class User {4 private String username;5 private String password;6 private String email;7 public String getUsername() {8 return username;9 } 10 public void setUsername(String username) { 11 this.username = username; 12 } 13 public String getPassword() { 14 return password; 15 } 16 public void setPassword(String password) { 17 this.password = password; 18 } 19 public String getEmail() { 20 return email; 21 } 22 public void setEmail(String email) { 23 this.email = email; 24 } 25 }

2.2、編寫郵件發送功能

  發送郵件是一件非常耗時的事情,因此這里設計一個線程類來發送郵件

1 package me.gacl.web.controller;2 3 import java.util.Properties;4 import javax.mail.Message;5 import javax.mail.Session;6 import javax.mail.Transport;7 import javax.mail.internet.InternetAddress;8 import javax.mail.internet.MimeMessage;9 import me.gacl.domain.User; 10 11 /** 12 * @ClassName: Sendmail 13 * @Description: Sendmail類繼承Thread,因此Sendmail就是一個線程類,這個線程類用于給指定的用戶發送Email 14 * @author: 孤傲蒼狼 15 * @date: 2015-1-12 下午10:43:48 16 * 17 */ 18 public class Sendmail extends Thread { 19 //用于給用戶發送郵件的郵箱 20 private String from = "gacl@sohu.com"; 21 //郵箱的用戶名 22 private String username = "gacl"; 23 //郵箱的密碼 24 private String password = "郵箱密碼"; 25 //發送郵件的服務器地址 26 private String host = "smtp.sohu.com"; 27 28 private User user; 29 public Sendmail(User user){ 30 this.user = user; 31 } 32 33 /* 重寫run方法的實現,在run方法中發送郵件給指定的用戶 34 * @see java.lang.Thread#run() 35 */ 36 @Override 37 public void run() { 38 try{ 39 Properties prop = new Properties(); 40 prop.setProperty("mail.host", host); 41 prop.setProperty("mail.transport.protocol", "smtp"); 42 prop.setProperty("mail.smtp.auth", "true"); 43 Session session = Session.getInstance(prop); 44 session.setDebug(true); 45 Transport ts = session.getTransport(); 46 ts.connect(host, username, password); 47 Message message = createEmail(session,user); 48 ts.sendMessage(message, message.getAllRecipients()); 49 ts.close(); 50 }catch (Exception e) { 51 throw new RuntimeException(e); 52 } 53 } 54 55 /** 56 * @Method: createEmail 57 * @Description: 創建要發送的郵件 58 * @Anthor:孤傲蒼狼 59 * 60 * @param session 61 * @param user 62 * @return 63 * @throws Exception 64 */ 65 public Message createEmail(Session session,User user) throws Exception{ 66 67 MimeMessage message = new MimeMessage(session); 68 message.setFrom(new InternetAddress(from)); 69 message.setRecipient(Message.RecipientType.TO, new InternetAddress(user.getEmail())); 70 message.setSubject("用戶注冊郵件"); 71 72 String info = "恭喜您注冊成功,您的用戶名:" + user.getUsername() + ",您的密碼:" + user.getPassword() + ",請妥善保管,如有問題請聯系網站客服!!"; 73 message.setContent(info, "text/html;charset=UTF-8"); 74 message.saveChanges(); 75 return message; 76 } 77 }

2.3、編寫處理用戶注冊的Servlet

1 package me.gacl.web.controller;2 3 import java.io.IOException;4 import javax.servlet.ServletException;5 import javax.servlet.http.HttpServlet;6 import javax.servlet.http.HttpServletRequest;7 import javax.servlet.http.HttpServletResponse;8 import me.gacl.domain.User;9 import me.gacl.service.UserService; 10 11 public class RegisterServlet extends HttpServlet { 12 13 public void doGet(HttpServletRequest request, HttpServletResponse response) 14 throws ServletException, IOException { 15 try{ 16 String username = request.getParameter("username"); 17 String password = request.getParameter("password"); 18 String email = request.getParameter("email"); 19 User user = new User(); 20 user.setEmail(email); 21 user.setPassword(password); 22 user.setUsername(username); 23 24 System.out.println("把用戶信息注冊到數據庫中"); 25 //用戶注冊成功之后就使用用戶注冊時的郵箱給用戶發送一封Email 26 //發送郵件是一件非常耗時的事情,因此這里開辟了另一個線程來專門發送郵件 27 Sendmail send = new Sendmail(user); 28 //啟動線程,線程啟動之后就會執行run方法來發送郵件 29 send.start(); 30 31 //注冊用戶 32 //new UserService().registerUser(user); 33 request.setAttribute("message", "恭喜您,注冊成功,我們已經發了一封帶了注冊信息的電子郵件,請查收,如果沒有收到,可能是網絡原因,過一會兒就收到了!!"); 34 request.getRequestDispatcher("/message.jsp").forward(request, response); 35 }catch (Exception e) { 36 e.printStackTrace(); 37 request.setAttribute("message", "注冊失敗!!"); 38 request.getRequestDispatcher("/message.jsp").forward(request, response); 39 } 40 } 41 42 public void doPost(HttpServletRequest request, HttpServletResponse response) 43 throws ServletException, IOException { 44 doGet(request, response); 45 } 46 }

  程序運行效果如下:

  

  現在很多網站都有這樣的功能,用戶注冊完成之后,網站根據我們注冊時填寫的郵箱給我們一封Email,然后點擊Email中的超鏈接去激活我們的用戶。這種功能就是這樣實現的。

  在總結使用JavaMail發送郵件時發現,將郵件發送到sina或者sohu的郵箱時,不一定能夠馬上收取得到郵件,總是有延遲,有時甚至會延遲很長的時間,甚至會被當成垃圾郵件來處理掉,或者干脆就拒絕接收,有時候為了看到郵件發送成功的效果,要等半天,實屬無奈啊。

http://www.cnblogs.com/xdp-gacl/p/4220190.html

總結

以上是生活随笔為你收集整理的JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 三级色网站 | 国产又爽又黄游戏 | 亚洲欧美一区二区三区情侣bbw | 久久精品视频一区二区 | 日韩中文一区 | 日本免费三级网站 | 亚洲欧洲日产av | 欧美一区中文字幕 | 久久只有这里有精品 | 久久密av| 91免费黄色| 日本一二区视频 | 国产区在线观看视频 | 亚洲午夜色 | 污的网站| 欧美一级片在线视频 | 艳妇乳肉豪妇荡乳av无码福利 | 好吊视频一区二区三区四区 | www.射| 久久艹av| 日韩九九九 | 欧美一级黄色片在线观看 | 91大神久久| 99国产精品自拍 | jizzjizz欧美69巨大 | 亚洲一区欧洲一区 | 欧美日韩中文字幕在线观看 | 粗喘呻吟撞击猛烈疯狂 | 操操操操操操操操操操 | 成人在线免费观看视频 | 美女隐私免费看 | 人人干人人爽 | 无码日韩人妻精品久久蜜桃 | 国产精品91一区二区 | 日韩欧美三级在线 | 福利二区三区 | 成人免费片 | 亚洲成人一级 | 可以免费观看av | 青娱网电信一区电信二区电信三区 | 波多野结衣av在线免费观看 | 国产福利在线看 | 动漫精品一区一码二码三码四码 | 一本色道无码道dvd在线观看 | 日韩免费视频一区二区视频在线观看 | 朝桐光av在线 | 中文字幕在线天堂 | 男裸体无遮挡网站 | 国产精品偷伦视频免费观看了 | 成人免费毛片片v | aa视频在线观看 | 91国内精品久久久 | 免费性爱视频 | 欧美一区二区 | 国产毛片一区二区三区 | 免费三级网站 | 婷婷深爱| 欧美黄色a级 | 国产成人在线免费视频 | 操小妹影院 | 在线观看福利网站 | 久久久久人妻一区精品色 | www.男女| 中国白嫩丰满人妻videos | 超碰97人人干 | 香蕉成人在线视频 | 日日日视频 | 日本大尺度做爰呻吟 | 欧美精品一区二区三区三州 | 日韩淫片 | 国产精品国产三级国产普通话对白 | 日日夜夜一区 | 欧美亚洲韩国 | 欧美小视频在线观看 | 久久精品久久久 | 免费的av在线| 最新中文av | 国产精品久久久久久久免费观看 | 校园春色亚洲激情 | 亚洲热久久 | 中出在线| 清纯粉嫩极品夜夜嗨av | 波多野结衣在线视频免费观看 | 国产精品无套 | 欧美丰满bbw| 蜜桃av噜噜 | 舔花蒂 | 少妇太爽了 | 午夜精品久久久久久久第一页按摩 | 国产精品99久久久久久久 | 久草中文在线 | 日韩欧美亚洲在线 | 久久久精品人妻一区二区三区 | 日日cao| 午夜视频一区二区 | av天天射| 国产欧美一区二区三区鸳鸯浴 | 国产剧情久久久 | 国产jk精品白丝av在线观看 |