前言
这里使用的是spring-boot-starter-mail
,
当然了,你也可以使用com.sun.mail(javax.mail)
,Hutool
对这个进行了封装,
但是我的项目是springboot3
,javax
改为了jakarta
,导致我无法使用Hutool封装的(在我写这篇文章时)
所以,自己写咯,既然自己写,那就用springboot提供的mail包咯
这里以最简单的纯文本邮件为例,需要看HTML、带附件的,可以参考 https://gitee.com/yb2cc1314/spring-boot-realizes-sending
POM依赖
<!-- 邮件收发 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
测试类
package cn.daenx.myadmin;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import java.util.Properties;
public class testSend {
public static void main(String[] args) {
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
javaMailSender.setHost("smtp.qq.com");
javaMailSender.setUsername("5201314@qq.com");
javaMailSender.setPassword("ewduxxxxxxxhgd");
javaMailSender.setPort(587);
javaMailSender.setDefaultEncoding("UTF-8");
javaMailSender.setProtocol(JavaMailSenderImpl.DEFAULT_PROTOCOL);
Properties properties = new Properties();
properties.setProperty("mail.smtp.timeout", "25000");
properties.setProperty("mail.smtp.auth", "true");
properties.setProperty("mail.smtp.socketFactoryClass", "javax.net.ssl.SSLSocketFactory");
javaMailSender.setJavaMailProperties(properties);
//1、创建邮件对象(设置参数后提交)
SimpleMailMessage message = new SimpleMailMessage();
//2、设置主题
message.setSubject("测试发送邮件3");
//3、设置邮件发送者
//message.setFrom("5201314@qq.com");
message.setFrom("MyAdmin<5201314@qq.com>");
//4、设置邮件接受者,多个接受者传参为数组格式
String toEmail = "1330166565@qq.com,testwy@163.com";
message.setTo(toEmail.split(","));
//5、设置邮件正文(邮件的正式内容)
message.setText("这是一封测试邮件,收到即为正常");
javaMailSender.send(message);
}
}