千家信息网

springboot怎么实现邮件服务

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了springboot怎么实现邮件服务的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot怎么实现邮件服务文章都会有所收获,下面我们一起来看
千家信息网最后更新 2026年11月02日springboot怎么实现邮件服务

这篇文章主要介绍了springboot怎么实现邮件服务的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot怎么实现邮件服务文章都会有所收获,下面我们一起来看看吧。

前言

spring boot 的项目放下小半个月没有更新了,终于闲下来可以开心的接着写啦。
之前我们配置好mybatis 多数据源的,接下来我们需要做一个邮件服务。比如你注册的时候,需要输入验证码来校验。这个验证码就可以通过邮件来发送。当然现在验证码大部分都是通过短信,单邮件有时候也是必不可少的。所以我们的spring架手架还是将邮件服务也搭建起来。下一篇将短信服务也整合进来。
好了,言归正传。搭建邮件服务没有接触可能会觉得很麻烦或者单机环境测试环境都实现不了。觉得没有邮件服务。其实我们个人使用的话,是可以做到的。qq邮箱,网易邮箱都可以的。我这里使用的是QQ邮箱。

服务器准备"> 邮箱服务器准备

登录QQ邮箱,点击设置 -->账户 可以找到 下图这个。

需要开通 POP3/SMTP服务。开通这个后,会生成一个秘钥。这个秘钥我们待会会在项目中用到。拿小本本记下来哈哈。

添加依赖和配置

邮箱准备好了,我们就开始我们的项目吧。
首先在pom.xml 文件中添加依赖

            org.springframework.boot            spring-boot-starter-mail        

然后在application.proteries 文件中添加配置,改成自己的邮箱。password 就是刚刚生成的那个秘钥。QQ邮箱的服务器地址是:smtp.qq.com 。网易的大家可以搜一下。

spring.mail.host=smtp.qq.comspring.mail.username=1186154608@qq.comspring.mail.password=abcdefgqazqazspring.mail.default-encoding=UTF-8mail.from=1186154608@qq.com

Service 层

配置信息都好了之后,我们就可以来使用啦。这里我们暂时没有涉及到数据库,就直接写Service层和controller 层。
在service 包下创建一个MailService 和MailServiceImpl

MailServiceImpl 中代码

@Service@Slf4jpublic class MailServiceImpl implements MailService{    @Autowired    private JavaMailSender mailSender;    @Value("${mail.from}")    private String mailFrom;    @Override    public void sendSimpleMail(String mailTo) {        SimpleMailMessage message=new SimpleMailMessage();        message.setFrom(mailFrom);        message.setTo(mailTo);        message.setSubject("simple mail");        message.setText("hello world");        mailSender.send(message);        log.info("邮件已经发送");    }}

这里我们就先简单的测试一下看看邮件能不能发送。mailFrom 是发件人,mailTo 是收件人。message.setSubject()设置邮件主题。message.setText()设置邮件内容。
mailSender.send(message)是发送短信。

# controller层
我们创建一个MailController类。代码如下:
```
@RestController
@RequestMapping("/mail")
public class MailController {
@Autowired
private MailService mailService;

@RequestMapping(value = "/send",method = RequestMethod.GET)public String sendMail(@RequestParam(value = "userName")String userName){    mailService.sendSimpleMail(userName);    return "success";}

}
```
可以看到就一个发送的接口。很简单,参数传过来接收人的邮箱就好了。

# 测试
到此为止,我们邮件服务的demo 就已经搭建好了。我们接下来测试测试一下。我们启动项目。然后调接口
http://localhost:9090/zlflovemm/mail/send?userName=1303123974@qq.com

提示已经发送成功啦,我们进邮箱看下我们发送情况。可以看到是发送成功了。所以说明我们的邮件服务搭建成功了。

所以现在看来,springboot 集成邮件服务是非常简单的,配置邮件服务器,就可以直接使用啦。

发送附件

有时候我们发送邮件不仅仅发送内容,还需要发送附件,那怎么实现呢。其实也很简单。那些配置还是不变。我们在service 层。写一个sendMail方法。如下

@Override    public void sendMail(String mailTo) {        MimeMessage message=mailSender.createMimeMessage();        MimeMessageHelper helper = null;        try {            helper = new MimeMessageHelper(message, true);            helper.setFrom(mailFrom);            helper.setTo(mailTo);            helper.setSubject("simple mail");            helper.setText("hello world", true);            FileSystemResource file = new FileSystemResource(new File("E:\\myself\\test.xls"));            String fileName = file.getFilename();            helper.addAttachment(fileName, file);            mailSender.send(message);            log.info("邮件已经发送");        } catch (MessagingException e) {            log.error("{}",e);        }    }

可以看到和我们开始测试的时候,有一点不同。这里先

MimeMessage message=mailSender.createMimeMessage();

MimeMessage 比 SimpleMailMessage 功能更强大,可以发送附件,也可以将内容转成html 格式发送。所以一般实际使用的时候都使用MimeMessage。
另外发送附件,还需要借助MimeMessageHelper 。MimeMessageHelper是辅助MimeMessage的。

helper.setFrom(mailFrom);helper.setTo(mailTo);helper.setSubject("simple mail");helper.setText("hello world", true);

这些和前面是一样的,发件人收件人,主题,内容。
helper.addAttachment()是添加附件的。

好了,接下我们测试一下。可以看到发送的邮件是有附件的。证明没问题。

关于"springboot怎么实现邮件服务"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"springboot怎么实现邮件服务"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

邮件 服务 邮件服务 邮箱 测试 内容 附件 配置 服务器 项目 成功 时候 知识 短信 准备 验证 接下来 主题 发件人 接口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 北京互联网科技公司 互联网科技排名 互联网科技博客 恒生科技互联网指数分析 彤创互联网科技有限公司 昭通互联网科技选哪家 宝灵互联网科技有限公司 翼展科技 首家互联网医院 玉溪新华互联网科技好不好 众安科技工业互联网合作 互联网金融科技元年 上海互联网科技公司ppt 郑州欣桑互联网科技有限公司 广州梦谷互联网科技有限公司领导 广西科技产业互联网是什么 福仕德教育科技互联网 青岛易易互联网科技 互联网科技大佬云集 现代科技的标志之一的互联网 互联网科技快速发展优美句子 高科技互联网 智慧科技互联网 天津摩尔互联网科技 中国科技创新与世界互联网大会 互联网科技创新的路径 皮皮虾互联网科技有限公司 产业互联网科技服务公司 富国互联网金融科技混合基金 上海互联网科技公司ppt 绵阳真晨互联网科技有限公司
0