ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用网页实现qq邮箱发送

2022-01-28 13:36:32  阅读:126  来源: 互联网

标签:qq 网页 String mail new import 邮箱 com javax


导入依赖

    <groupId>com.zou</groupId>
<artifactId>WebMail</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>

</dependencies>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>

</project>

建立实体类发送
package com.zou.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {
private String username;
private String password;
private String email;
}
建立工具类发送邮件
package com.zou.util;
import com.zou.pojo.User;
import com.sun.mail.util.MailSSLSocketFactory;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class Sendmail extends Thread{
private String from ="2246781190@qq.com";
private String username ="2246781190@qq.com";
private String password ="udgyxytarwlgecae";
private String host="smtp.qq.com";
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");//需要验证用户名密码
//关于qq邮箱还要设置ssl加密,加上以下代码
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() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("2246781190@qq.com", "utrwlgecae");
}
});
session.setDebug(true);
//通过session得到transport对象
Transport transport = session.getTransport();
transport.connect("smtp.qq.com", "2246781190@qq.com", "uytrwlgecae");
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("2246781190@qq.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(user.getEmail()));
message.setSubject("用户注册事件");
String info="恭喜您注册成功,您的用户名:"+user.getUsername()+",您的密码;"+user.getPassword()+",请妥善你保管,如有问题请联系客服";
message.setContent(info,"text/html;charset=UTF-8");
message.saveChanges();
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}catch (Exception e){
throw new RuntimeException(e);
}
}
}


建立jsp主页
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注册</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/RegisterServlet.do" method="post">
用户名:<input type="text" name="username"><br/>
密码:<input type="password" name="password"><br/>
邮箱:<input type="text" name="email"><br/>
<input type="submit" value="注册">
</form>
</body>
</html>
</body>
</html>
发送后跳转jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>
网站提示
</h1>
${message}
</body>
</html>
跳转内容
package com.zou.servlet;

import com.zou.pojo.User;
import com.zou.util.Sendmail;

import javax.servlet.ServletException;
import java.io.IOException;

public class RegisterServlet extends javax.servlet.http.HttpServlet{
protected void doPost(javax.servlet.http.HttpServletRequest request,javax.servlet.http.HttpServletResponse response)throws ServletException,IOException {
String username =request.getParameter("username");
String password =request.getParameter("password");
String email =request.getParameter("email");
User user = new User(username,password,email);
Sendmail send=new Sendmail(user);
send.start();
request.setAttribute("message","注册成功,我们已经发了一封电子邮件,如网络不稳定,可能过一会才能收到!!");
request.getRequestDispatcher("info.jsp").forward(request,response);
}
protected void doGet(javax.servlet.http.HttpServletRequest request,javax.servlet.http.HttpServletResponse response)throws ServletException,IOException{
}
}


标签:qq,网页,String,mail,new,import,邮箱,com,javax
来源: https://www.cnblogs.com/2246781190zyc/p/15852470.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有