JAVA 发送邮件功能
目录
1、在pom.xml添加如下依赖
2、在application.yml中添加如下配置
3、创建发送邮件工具类
4、接口调用
1、在pom.xml添加如下依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dependency>
2、在application.yml中添加如下配置
mail:host: smtp.exmail.qq.comport: 465username: xx@xxxx.com #初始邮件地址(发送邮件者)password: 123xx456 #密码protocol: smtpproperties:mail:smtp:auth: truessl:enable: truesocketFactory:class: com.sun.mail.util.MailSSLSocketFactoryfallback: false
3、创建发送邮件工具类
/*** 发送邮件工具类*/
@Component
public class EmailUtil {@Autowiredprivate JavaMailSender javaMailSender;@Value("${spring.mail.username}")private String username;/*** 发送邮件* @param subject 邮件主题* @param content 邮件内容* @param to 收件人*/public void sendEmail(String subject, String content, String[] to) {try {MimeMessage mimeMessage = javaMailSender.createMimeMessage();MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);messageHelper.setFrom(username);//发送者邮箱地址messageHelper.setTo(to);//收件人邮箱地址messageHelper.setSubject(subject);//邮件主题messageHelper.setText(content, true);//邮件内容messageHelper.setSentDate(new Date());javaMailSender.send(mimeMessage);} catch (Exception e) {new RuntimeException("邮件发送失败", e);}}
}
4、接口调用
RequestVO:
@Data
public class EmailSendAddReq {@ApiModelProperty(value = "发送类型(1、模板发送 2、自定义发送)")@NotNull(message = "发送类型不能为空")private Integer sendType;@ApiModelProperty(value = "邮件主题")@NotBlank(message = "邮件主题不能为空")private String subject;@ApiModelProperty(value = "收件人(多个人用英文 ; 隔开)")@NotBlank(message = "收件人不能为空")private String recipient;@ApiModelProperty(value = "模板ID")private String templateId;@ApiModelProperty(value = "发送内容")private String content;
}
Controller:
/*** <p>* 邮件发送表 前端控制器* </p>*/
@RestController
@RequestMapping("/uxm/email-send")
public class UxmEmailSendController {@Autowiredprivate IUxmEmailSendService emailSendService;@PostMapping("/send")@ApiOperation("发送邮件")@Log(BusinessTypeEnum.INSERT)public Result<Boolean> addSendEmail(@RequestBody EmailSendAddReq req) {emailSendService.addSendEmail(req);return Result.success();}
}
忽略Service
ServiceImpl:
/*** <p>* 邮件发送表 服务实现类* </p>*/
@Slf4j
@Service
public class UxmEmailSendServiceImpl extends ServiceImpl<UxmEmailSendMapper, UxmEmailSend> implements IUxmEmailSendService {@Autowiredprivate IUxmEmailTemplateService emailTemplateService;@Autowiredprivate EmailSendConvert emailSendConvert;@Autowiredprivate EmailUtil emailUtil;/*** 发送邮件*/@Overridepublic void addSendEmail(EmailSendAddReq req) {UxmEmailSend uxmEmailSend = emailSendConvert.toEntity(req);//判断邮件模板ID是否为空if (StringUtils.isNotBlank(req.getTemplateId())) {UxmEmailTemplate template = emailTemplateService.getById(req.getTemplateId());uxmEmailSend.setContent(template.getContent());} else {//判断邮件发送内容是否为空if (StringUtils.isBlank(req.getContent())) {throw new ServiceException("发送内容不能为空");}}//发送多人String[] split = req.getRecipient().split(";");try {//发送邮件emailUtil.sendEmail(uxmEmailSend.getSubject(), uxmEmailSend.getContent(), split);uxmEmailSend.setIsSendSuccess(1);} catch (Exception e) {log.error(e.getMessage(), e);uxmEmailSend.setIsSendSuccess(0);}uxmEmailSend.setSendTime(new Date());//新增邮件记录到库表this.save(uxmEmailSend);}
}
JAVA 发送邮件功能相关推荐
- 简易的定时发送生日邮件功能(Listener+定时器+使用java发送邮件)
实现功能主要技术点: Listener(监听器) 使用Java发送邮件(JavaMail的使用) 代码示例 创建web工程,写一个监听器监听ServletContext对象的创建(创建时机:启动服务器 ...
- JAVA 实现发送邮件功能——邮箱验证码
JAVA 实现发送邮件功能--邮箱验证码 在学习 Java 的过程中,由于项目需要使用邮箱验证码功能,所以进行了较为深入的学习,在这里写一下这个功能的实现方式. 首先 想要使用 Java 实现发送邮件 ...
- Java实现发送邮件功能
目录 一.代码功能 二.功能实现 邮件实体 邮件参数配置 发送邮件 主函数 三.源码下载 四.商务合作 一.代码功能 Java实现发送邮件功能,使用mail包里面的函数进行实现此功能.话不多说,直接贴 ...
- java 发送邮件_老板要实现SpringBoot发送邮件?大神发了这篇文章后,今晚准点下班...
正文开始前,分享阿里 P8 资深架构师吐血总结的 <Java 核心知识体系&面试资料.pdf> 阿里 P8 级资深架构师吐血总结的一份 Java 核心知识.pdf, 内容覆盖很广, ...
- 用java发送邮件(黄海已测试通过)
/*** java发送带附件的邮件* 周枫* 2013.8.10*/ package com.dsideal.Util; import javax.mail.*; import javax.mail. ...
- Java发送邮件(带附件)
实现java发送邮件的过程大体有以下几步: 准备一个properties文件,该文件中存放SMTP服务器地址等参数. 利用properties创建一个Session对象 利用Session创建Mess ...
- 手把手教你实现Java发送邮件(1)-发送简单的文本
说明:本博客已经收藏至我的gitee中的code_demo仓库(点击此链接跳转)中,且gitee中有相应的代码~ 欢迎访问~~ 不仅仅是code,还有一些通俗的讲解哦~ 文章目录 一.Java实现邮件 ...
- SSM整合框架实现发送邮件功能
SSM整合框架实现发送邮件功能 1.导入发送邮件的依赖 <!-- 发送邮件jar包--><!--spring支持--><dependency><groupId ...
- Java发送邮件详解
Java发送邮件详解 本期我们学习Java如何发送邮件,Java发送邮件是以后工作较为常用的一个Java技能,想Web的邮箱验证.邮件提醒等功能,后期我也会编写一个教务的成绩提醒系统,其中,提醒的功能 ...
- Java发送邮件(网易163邮箱)(简单易操作篇)
文章目录 一.前言 二.事先准备步骤 三.Java具体代码实现 1. 类有哪几个? 2.jar包配置 3.关键代码功能简介 4.具体代码 4.1 MailConst.java 负责存放一些配置 4.2 ...
最新文章
- spark 应用程序性能优化经验
- 逐步回归 图像降维matlab,使用matlab对训练样本图像降维,并对测试图像使用变换矩阵降维并重构...
- 从0 开始 WPF MVVM 企业级框架实现与说明 ---- 第十讲 WPF 系统MainWindow
- Redis 数据备份与恢复
- 基础算法:与、或、异或运算
- BestCoder Round #70
- php 日期范围查询分页,Thinkphp3.2 多条件数据分页查询
- 开发新概念:代码管理(代码框架)
- php怎么改背景图片,php - 如何借助php中的url参数更改背景图片? - SO中文参考 - www.soinside.com...
- 嵩天python笔记_嵩天Python学习笔记
- pandas算加权平均值_python – 为pandas中的不规则时间序列创建加权平均值
- 3. 空实例对象调用静态方法的结果
- 南大地球科学能转计算机类吗,南京大学地球科学系
- sap清账使用反记账_【转】SAP反记账功能祥解
- python读取图片像素矩阵
- 驱动VFD屏幕 / 真空荧光屏 (不完美)
- traffic-control: tc流量管理简介 --TurboLinux知识库
- Jenkins安装并配置加速器
- Excel中过长数字的问题以及CSV文件避免这个问题的处理办法
- httpclient-Connection pool shut down 问题排查
热门文章
- 谭浩强C语言(第三版)习题6.11
- 十大最受欢迎蓝牙耳机品牌推荐,学生党打工人平价蓝牙耳机
- 火山PC表格及Excel的导入导出案例
- 牛顿迭代法的matlab程序,牛顿迭代法matlab程序
- c51语言跑马灯键盘程序,单片机按键控制跑马灯程序
- 手机抓直播源工具app_东方卫视 手机在线直播 央视源
- 完整版商城PHP源码小程序,前后端+后台+小程序;访问地址在文末
- php旧物交易开源代码_仿互站PHP源码 虚拟物品在线交易网站源码 附14套风格
- c语言的退出程序代码,C语言实现关机小程序
- EDA技术实用教程 | 复习六 | 过程语句always