使用SpringBoot调用QQ的SMTP服务实现邮件发送功能

5 篇文章 0 订阅
3 篇文章 0 订阅

本文讲述的是利用SpringBoot框架 以及QQ邮箱的smtp服务实现邮件的发送功能.

登录QQ邮箱 开启smtp服务.

首先登录QQ邮箱 点击设置
在这里插入图片描述
在邮箱设置里选择账户
在这里插入图片描述
下拉找到如下位置. 开启POP3/SMTP服务 这里可能需要验证手机号 按照提示进行操作即可.
开启成功后 复制好授权码待用.
在这里插入图片描述

创建SpringBoot项目

这里就正常创建SpringBoot项目即可 不需要勾选启动器.
(可以勾选mail启动器 如果这里勾选了 可以跳过引入依赖步骤)

引入依赖

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

修改SpringBoot配置文件

引入完成后,在SpringBoot的配置文件 application.properties文件中配置邮件的属性

//设置邮件默认字符格式
spring.mail.default-encoding=UTF-8
//设置邮件发送主机地址
spring.mail.host=smtp.qq.com
//设置邮件登录名(QQ通常为自己的QQ邮箱)
spring.mail.username=123456@qq.com
//设置授权码
spring.mail.password=aksldjakj
//设置邮件协议 smtp
spring.mail.protocol=smtp

编写邮件发送工具类

创建一个类 MailSendService
代码如下:

//注入容器
@Component
public class MailSendService {
//引入javaMailSender对象
    @Resource
    JavaMailSender javaMailSender;
//创建发送方法
    public String send(){
        /*创建简单邮件对象*/
        SimpleMailMessage simpleMailMessage=new SimpleMailMessage();
        /*设置发件人地址 此处要跟springboot配置文件中的username属性相同*/
        simpleMailMessage.setFrom("123456@qq.com");
        /*收件人地址*/
        simpleMailMessage.setTo(("123789@qq.com"));
        //设置邮件标题
        simpleMailMessage.setSubject("邮件标题");
        //设置邮件内容
        simpleMailMessage.setText("邮件内容");
        //发送邮件
        javaMailSender.send(simpleMailMessage);
        return "邮件发送成功";
    }
}

这里代码是以简单邮件为例的 如果想要发送HTML代码邮件的话
就不能创建简单邮件对象了.而是创建高级邮件对象

//创建高级邮件对象
       MimeMessage msg = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(msg,true);
        //设置邮件主题
        helper.setSubject("邮件主题");
        //添加附件
        helper.addAttachment("fujian.png",new File("文件路径"));
        //设置邮件内容
        helper.setText("邮件内容");
        //设置邮件发送时间
        helper.setSentDate(new Date());
        //设置发件人 与配置文件application.properties的username保持一致.
        helper.setFrom("123456@qq.com");
        //收件人
        helper.setTo("123789@qq.com");
        javaMailSender.send(msg);

测试

编写完成后 我们就可以去测试类测试了

在这里插入图片描述
成功接收到邮件就没问题了.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值