SpringBoot发送邮件

1. 配置邮箱服务,以 QQ 为例

【注意】:如果你的 QQ 开启了登录保护,需要关掉,否则无法使用此功能。

2.1 首先需要开启邮箱相关服务,操作如下:

在这里插入图片描述

2.2 点击开启后需要验证手机号开启下面功能

在这里插入图片描述

2.3 发送成功后,出现如下界面。此时生产的密码就是我们发送邮件时要填写的账号密码(密码并非 QQ 的登录密码)。

在这里插入图片描述
至此,邮箱配置就全部做完了,接下来就是编写代码了

2. 编码实现

2.1 引入依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <atrifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.2 配置账号信息
#发件人账号
spring.mail.username = 3278798455@qq.com
#密码:不是登录账号的密码,需要在邮箱中心配置 2.3所得到的密码
spring.mail.password = jwwysfflsvskdbhb
#邮箱服务器,可在邮箱中心查看
spring.mail.host = smtp.qq.com
#开启 SSL 安全连接,否则会报错
spring.mail.properties.mail.smtp.ssl.enable = true
2.3 编码实现
package com.example.demo;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.internet.MimeMessage;
import java.io.File;


@SpringBootTest
class DemoApplicationTests {

    //自动注入邮件的发送器
    @Autowired
    private JavaMailSender sender;

    //发送简单类型的邮件
    @Test
    public void send1() {
        //创建简单邮件的消息封装对象
        SimpleMailMessage message = new SimpleMailMessage();
        //邮件封装
        message.setSubject("邮件标题");
        message.setText("邮件内容");
        message.setTo("1641960648@qq.com");//收件人 可以写多个 也可以写其他邮箱地址
        message.setFrom("3278798455@qq.com");//发件人

        sender.send(message);
    }

    //发送复杂类型的邮件
    @Test
    public void send2() throws Exception{
        //创建复杂邮件的消息封装对象
        MimeMessage mimeMessage = sender.createMimeMessage();
        //创建邮件内容封装的的帮助对象 true:表示要上传文件
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);

        //邮件封装
        helper.setSubject("邮件标题");
        //邮件内容可以是 HTML 标签
        helper.setText("<b style='color:red'>邮件内容</b>", true);
        helper.setTo("1641960648@qq.com");//收件人 可以写多个 也可以写其他邮箱地址
        helper.setFrom("3278798455@qq.com");//发件人
        //上传文件 以附件的形式
        helper.addAttachment("1.jpg", new File("C:\\Users\\一曲华胥乱世成殇\\Pictures\\本机照片\\69.jpg"));
        helper.addAttachment("2.png", new File("C:\\Users\\一曲华胥乱世成殇\\Pictures\\本机照片\\231.png"));

        sender.send(mimeMessage);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值