- 编写前端代码
<form action="${pageContext.request.contextPath}/rg" method="post">
用户名:<input type="text" name="username"><br/>
密 码:<input type="password" name="password"><br/>
邮 箱:<input type="text" name="email" ><br/>
<input type="submit" value="注册"><br/>
</form>
- .xml文件配置
<servlet>
<servlet-name>MailWeb</servlet-name>
<servlet-class>com.wang.web.MailWeb</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MailWeb</servlet-name>
<url-pattern>/rg</url-pattern>
</servlet-mapping>
- 编写MailWeb
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username");
String password = req.getParameter("password");
String email = req.getParameter("email");
User user=new User(username,password,email);
SendMail sendMail=new SendMail(user);
sendMail.start();
req.setAttribute("message","稍等,马上收到邮件");
req.getReq
- 编写User类
package com.wang.rea;
public class User{
String username;
String password;
String email;
public User(){
}
public User(String username, String password, String email) {
this.username = username;
this.password = password;
this.email = email;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public String getEmail() {
return email;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
", email='" + email + '\'' +
'}';
}
}
- 编写线程类,控制邮件发送
private String from = "2630533885@qq.com";
private String username = "2630533885@qq.com";
private String password = "rqkvkhrzhprrdiac";
private String host = "smtp.qq.com";
private String to = "2630533885@qq.com";
private String title = "注册邮件";
private User user;
public SendMail(User user){
this.user=user;
}
@Override
public void run() {
try {
Properties prop = new Properties();
prop.setProperty("mail.host", "smtp.qq.com");
prop.setProperty("mail.transport.protocol", "smtp");
prop.setProperty("mail.smtp.auth", "true");
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
prop.put("mail.smtp.ssl.enable", "true");
prop.put("mail.smtp.ssl.socketFactory", sf);
Session session = Session.getDefaultInstance(prop, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
session.setDebug(true);
Transport ts = session.getTransport();
ts.connect(host, username, password);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(user.getEmail()));
message.setSubject(title);
String info="恭喜您,注册成功\n"+"您的账号为:"+user.getUsername()+"您的密码是:"+user.getPassword()+"您的邮箱是:"+user.getEmail();
message.setContent(info,"text/html;charset=utf-8");
message.saveChanges();
ts.sendMessage(message,message.getAllRecipients());
ts.close();
}
catch (Exception e){
e.printStackTrace();
}