JavaWeb应用中使用JavaMail发送邮件
2016-06-19 22:27
591 查看
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的邮箱时,不一定能够马上收取得到邮件,总是有延迟,有时甚至会延迟很长的时间,甚至会被当成垃圾邮件来处理掉,或者干脆就拒绝接收,有时候为了看到邮件发送成功的效果,要等半天,实属无奈啊。
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的邮箱时,不一定能够马上收取得到邮件,总是有延迟,有时甚至会延迟很长的时间,甚至会被当成垃圾邮件来处理掉,或者干脆就拒绝接收,有时候为了看到邮件发送成功的效果,要等半天,实属无奈啊。
相关文章推荐
- eclipse快捷键整理
- java中反射的基本使用方法
- 20145225《Java程序设计》 2015—2016年学期课程总结
- 20145328 《Java程序设计》课程总结
- 20145330《Java程序设计》课程总结
- 20145312《Java程序设计》课程总结
- Opencv4Android分享:eclipse下opencv环境搭建
- Java 异常处理机制
- Java 高级—— IO 基础
- java一些概念
- Java中泛型的介绍与简单使用
- java课程总结
- Java 进阶—— super 和 this 的用法
- Java 线程 —— 基础篇
- Java 进阶——自动装箱和自动拆箱
- Java 三大特性之——继承
- Java 关键字—— static 与 final
- Java 进阶——单例模式
- 20145304 《Java程序设计》课程总结
- java混编