-
新建一个javaEE项目(不说了)
-
将SMTP服务都开了(如图)
-
添加jar包
-
javax.mail.jar:javax.mail.jar
-
servlet-api.jar:这个可以在tomcat的lib中找到
-
activation.jar:这个我当时新建一个maven项目下载的,你们可以去网上找
在src下新建一个SendEmail的java类
import java.util.Date;
import java.util.Properties;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.mail.*;
import javax.mail.internet.*;
@WebServlet("/SendEmail")
public class SendEmail extends HttpServlet {
public String myEmailAccount = "你的邮箱";
public String myEmailPassword = "授权码,不是你的邮箱密码";
public String myEmailSMTPHost = "smtp.163.com";
public String receiveMailAccount = "你要发送对象的邮箱";
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) {
// 1. 创建参数配置, 用于连接邮件服务器的参数配置
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.host", myEmailSMTPHost);
props.setProperty("mail.smtp.auth", "true");
// 2. 根据配置创建会话对象, 用于和邮件服务器交互
Session session = Session.getInstance(props);
session.setDebug(true);
// 设置为debug模式, 可以查看详细的发送 log
MimeMessage message;
try {
message = createMimeMessage(session, myEmailAccount, receiveMailAccount);
Transport transport = session.getTransport();
transport.connect(myEmailAccount, myEmailPassword);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) {
doPost(request, response);
}
public MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {
// 1. 创建一封邮件
MimeMessage message = new MimeMessage(session);
// 2. From: 发件人
message.setFrom(new InternetAddress(sendMail, "阿海测试邮件", "UTF-8"));
// 3. To: 收件人
message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "沙雕用户", "UTF-8"));
// 4. Subject: 邮件主题
message.setSubject("快去请如来佛祖!!!!", "UTF-8");
// 5.发送的文本内容
message.setContent("啦啦啦啦啦,成功啦,你真6", "text/html;charset=UTF-8");
// 6. 设置发件时间
message.setSentDate(new Date());
// 7. 保存设置
message.saveChanges();
return message;
}
}
web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>SendEmail</servlet-name>
<servlet-class>SendEmail</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SendEmail</servlet-name>
<url-pattern>/SendEmail</url-pattern>
</servlet-mapping>
</web-app>
运行后访问-----------http://localhost:8080/SendEmail
成功截图
本项目下载(含jar包):下载