先去qq邮箱开启POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,设置服务授权码
邮箱==>账号==>管理服务==>开启服务==>生成授权码
然后我们导入邮箱依赖
<!-- 邮件发送依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
再配置邮箱服务器,在application.propertie文件或application.yml文件中配置信息
application.propertie文件中
# 指定SMTP服务器的主机名
spring.mail.host=smtp.qq.com
# 指定SMTP服务器的端口号
spring.mail.port=587
# 指定发送邮件使用的用户名,通常是你的邮箱地址
spring.mail.username=你的QQ邮箱账号
# 指定发送邮件使用的密码,这里是QQ邮箱的授权码,而不是登录密码
spring.mail.password=你的QQ邮箱授权码
# 设置SMTP认证为true,表示发送邮件时需要进行身份验证
spring.mail.properties.mail.smtp.auth=true
# 指定SMTP客户端使用的SocketFactory类,用于建立SSL连接
spring.mail.properties.mail.smtp.socketFactory.class=com.sun.net.ssl.internal.ssl.SocketFactoryImpl
# 如果找不到指定的SocketFactory类,是否允许回退到非SSL连接,默认为false
spring.mail.properties.mail.smtp.socketFactory.fallback=false
# 设置SMTP客户端使用SSL加密,这里的值为true表示启用SSL
spring.mail.properties.mail.smtp.ssl.enable=tru
# 设置信任的主机名,这里的值为SMTP服务器的主机名,表示信任此服务器
spring.mail.properties.mail.smtp.ssl.trust=smtp.qq.com
application.yml文件
spring:
mail:
host: smtp.qq.com # 指定SMTP服务器的主机名
port: 587 # 指定SMTP服务器的端口号
username: 你的QQ邮箱账号 # 指定发送邮件使用的用户名,通常是你的邮箱地址
password: 你的QQ邮箱授权码 # 指定发送邮件使用的密码,这里是QQ邮箱的授权码,而不是登录密码
properties:
mail:
smtp:
auth: true # 设置SMTP认证为true,表示发送邮件时需要进行身份验证
socketFactory:
class: com.sun.net.ssl.internal.ssl.SocketFactoryImpl # 指定SMTP客户端使用的SocketFactory类,用于建立SSL连接
fallback: false # 如果找不到指定的SocketFactory类,是否允许回退到非SSL连接,默认为false
ssl:
enable: true # 设置SMTP客户端使用SSL加密,这里的值为true表示启用SSL
trust: smtp.qq.com # 设置信任的主机名,这里的值为SMTP服务器的主机名,表示信任此服务器
使用时需要先注入 JavaMailSender ,
@Resource
private JavaMailSender javaMailSender;
/**
* 发送邮件
*
* @param email
* @param code
*/
public void sendEmail() {
// 创建一个新的MimeMessage实例
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
// 使用MimeMessageHelper来构造邮件内容
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); // 第二个参数为true表示支持多部分邮件
//发送人
helper.setFrom("你的邮箱");
//接收人
helper.setTo("接收人邮箱");
//主题
helper.setSubject("随意填写");
//内容
helper.setText("随意填写");
//发送
javaMailSender.send(mimeMessage);
} catch (MessagingException e) {
throw new RuntimeException("发送失败:" + e.getMessage());
}
}
标签:qq,Spring,SMTP,邮箱,Boot,spring,mail,smtp,true
From: https://blog.csdn.net/guoyangsheng_/article/details/143130360