千家信息网

怎么实现springboot邮箱发送

发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,这篇文章主要介绍"怎么实现springboot邮箱发送",在日常操作中,相信很多人在怎么实现springboot邮箱发送问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎
千家信息网最后更新 2025年11月09日怎么实现springboot邮箱发送

这篇文章主要介绍"怎么实现springboot邮箱发送",在日常操作中,相信很多人在怎么实现springboot邮箱发送问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么实现springboot邮箱发送"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

步骤一:添加依赖,在pom.xml文件中加入spring-boot-starter-mail依赖


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


org.springframework.boot
spring-boot-starter-freemarker

步骤二:获取各大邮箱授权

例如:获取QQ邮箱授权

QQ邮箱->设置->账户->POP3/SMTP服务:开启服务后会获得QQ的授权码.


# JavaMailSender 邮件发送的配置

spring.mail.host=smtp.qq.com
spring.mail.username=用户qq邮箱
#QQ邮箱的授权码
spring.mail.password=授权码
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.default-encoding=UTF-8

第三步:实现邮件发送功能

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;

/**
* @author XXXXXX
*
*/
@Service
public class MailSendService
{
@Autowired
private JavaMailSender mailSender;

/**日志打印.*/
private Logger logger = Logger.getLogger(MailSendService.class);

/**
* 发送简单邮件
* @param fromPos 发送地址
* @param toPos 目的地址
* @param subject 邮件主题
* @param text 邮件内容
* @return 发送是否成功
*/
public boolean sendSimpleMail(String fromPos, String toPos, String subject, String text){
SimpleMailMessage msg = new SimpleMailMessage();
msg.setFrom(fromPos);
//可添加多个目的地址
msg.setTo(toPos);
msg.setSubject(subject);
msg.setText(text);
//msg.setBcc(bcc) 密送地址
//msg.setCc(cc) 抄送地址
try
{
mailSender.send(msg);
}
catch (Exception e)
{
logger.error("发送简单邮件失败.", e);
return false;
}
return true;
}

/**
* 发送带有附件的邮件
* @param fromPos 发送地址
* @param toPos 目的地址
* @param subject 邮件主题
* @param file 附件
* @return 发送是否成功
*/
public boolean sendAttachFileMail(String fromPos, String toPos, String subject, String text, FileSystemResource file){
MimeMessage msg = mailSender.createMimeMessage();
try
{
//MimeMessageHelper构造器,如果要发送附件邮件,必须指定multipart参数为true
MimeMessageHelper helper = new MimeMessageHelper(msg, true);
helper.setFrom(fromPos);
helper.setTo(toPos);
helper.setSubject(subject);
helper.setText(text);
helper.addAttachment(file.getFilename(), file);
mailSender.send(msg);
}
catch (MessagingException e)
{
logger.error("发送附件邮件失败.", e);
return false;
}

return true;
}

/**
* 发送静态资源的文件,如:图片
* @param fromPos 发送地址
* @param toPos 目的地址
* @param subject 邮件主题
* @param file 附件
* @return 发送是否成功
*/
public boolean sendInlineMail(String fromPos, String toPos, String subject, FileSystemResource file){
MimeMessage msg = mailSender.createMimeMessage();
try
{
//MimeMessageHelper构造器,如果要发送附件邮件,必须指定multipart参数为true
MimeMessageHelper helper = new MimeMessageHelper(msg, true);
helper.setFrom(fromPos);
helper.setTo(toPos);
helper.setSubject(subject);
helper.setText("静态资源:", true);
helper.addInline("pic", file);
mailSender.send(msg);
}
catch (MessagingException e)
{
logger.error("发送附件邮件失败.", e);
return false;
}

return true;
}


}

到此,关于"怎么实现springboot邮箱发送"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

邮件 邮箱 地址 附件 目的 学习 成功 主题 参数 文件 更多 步骤 资源 静态 构造器 帮助 服务 实用 接下来 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 查看全部数据库代码 车载网络安全问题有哪些 view是数据库的模式 网络安全建设和绩效审计审计 网络技术学习空间 保障无线网络安全 软件开发平台功能 河北小型软件开发的行业须知 成都无手机云控软件开发商 惠州附近做软件开发的 网络安全的龙头股是哪家上市公司 数据库的典型网络应用之一是什么 软件开发费用记长期待摊费用 铁路局的软件开发待遇怎么样 团委网络安全宣传周方案 思科网络技术学院教程知识 三级网络技术笔试题型 网络安全主题短视频素材 上海晶选互联网科技有限公司 php使用文件做数据库 连接服务器时出现问题怎么处理 张家港中高端服务器市面价 怎样去掉隐藏的双引号数据库 上海市图书馆古籍数据库 抖音直播场控软件开发 浙江互联网金融科技 无线个人区域网络技术 数据库当前时间的修改 黄山机械专业软件开发平台 腾讯火影忍者云服务器
0