1.package com.piedra.register;
2.
3.import java.io.IOException;
4.import java.util.Date;
5.import java.util.Properties;
6.
7.import javax.mail.Address;
8.import javax.mail.Authenticator;
9.import javax.mail.Message.RecipientType;
10.import javax.mail.MessagingException;
11.import javax.mail.Transport;
12.import javax.mail.internet.InternetAddress;
13.import javax.mail.internet.MimeMessage;
14.import javax.servlet.ServletException;
15.import javax.servlet.http.HttpServlet;
16.import javax.servlet.http.HttpServletRequest;
17.import javax.servlet.http.HttpServletResponse;
18.import javax.servlet.http.HttpSession;
19.
20.import com.piedra.model.MyAuthenticator;
21.
22.public class RegisterServlet extends HttpServlet {
23. private static final long serialVersionUID = 1L;
24.
25. public void doGet(HttpServletRequest request, HttpServletResponse response)
26. throws ServletException, IOException {
27. String toMail = request.getParameter("email");
28. String registerName = request.getParameter("userName");
29.
30. String userName = "你邮箱地址";
31. String password = "你邮箱密码";
32.
33. String registerId = "" + Math.random() * Math.random();
34. String url = "http://localhost:8080/JavaMailChecker/servlet/MailBackServlet?registerId=" + registerId;//待会用户点在邮箱中点击这个链接回到你的网站。
35.
36. HttpSession httpSession = request.getSession();
37. httpSession.setAttribute(registerId, registerName);
38. httpSession.setMaxInactiveInterval(600);
39.
40. Properties props = new Properties();
41. props.setProperty("mail.smtp.host", "smtp.163.com");
42. props.setProperty("mail.smtp.auth", "true");
43.
44. Authenticator authenticator = new MyAuthenticator(userName, password);
45.
46. javax.mail.Session session = javax.mail.Session.getDefaultInstance(props,authenticator);
47. session.setDebug(true);
48.
49. try{
50. Address from = new InternetAddress(userName);
51. Address to = new InternetAddress(toMail);
52.
53. MimeMessage msg = new MimeMessage(session);
54. msg.setFrom(from);
55. msg.setSubject("诚实网站注册");
56. msg.setSentDate(new Date());
57. msg.setContent("点击" + url + "完成注册", "text/html;charset=utf-8");
58. msg.setRecipient(RecipientType.TO, to);
59. /*
60. Transport transport = session.getTransport("smtp");
61. transport.connect("smtp.163.com", userName, password);
62. transport.sendMessage(msg,msg.getAllRecipients());
63. transport.close();
64. */
65. Transport.send(msg);
66. } catch(MessagingException e){
67. e.printStackTrace();
68. }
69.
70. request.getRequestDispatcher("/sendMailSuccess.jsp").forward(request, response);
71. }
72.
73. public void doPost(HttpServletRequest request, HttpServletResponse response)
74. throws ServletException, IOException {
75. doGet(request, response);
76. }
77.}