邮箱发送——使用spring自带的JavaMailSenderImpl实现邮件发送
1.在yml配置文件添加相关配置(mail是在spring配置下的)
host:是你选择发送邮箱服务器的地址
例子:发送qq邮件服务器:smtp.qq.com
port:发送邮箱服务器的端口
例子:发送qq邮件服务器端口号:465或587
username:邮箱账号
password:邮箱密码
2.EmailUtil
上代码!!!!!!!!!
//注入MailSenderprivate static JavaMailSenderImpl mailSender;/*** 初始化发送服务器*/private void initSmtpMail(SendTextMailDto sendMailDto) {mailSender = new JavaMailSenderImpl();mailSender.setHost(sendMailDto.getHost());mailSender.setPort(sendMailDto.getPort());mailSender.setUsername(sendMailDto.getUsername());mailSender.setPassword(sendMailDto.getPassword());mailSender.setProtocol(sendMailDto.getProtocol());mailSender.setDefaultEncoding(sendMailDto.getDefaultEncoding());}/*** 发送文本邮件** @param sendMailDto 邮件对象(收件人,邮件主题,邮件内容)*/public void sendSimpleTextMailActual(SendTextMailDto sendMailDto) {//初始化发送服务器initSmtpMail(sendMailDto);//检验参数:邮件主题、收件人、邮件内容必须不为空才能够保证基本的逻辑执行if (sendMailDto == null) {throw new BizException("发送邮件不可以为空");}if (sendMailDto.getSubject() == null || sendMailDto.getMailTo() == null || sendMailDto.getContent() == null) {log.error("邮件-> {} 无法继续执行,因为缺少基本的参数:邮件主题、收件人、邮件内容", sendMailDto.getSubject());throw new BizException("邮件无法继续发送,因为缺少必要的参数!");}String[] toWho = sendMailDto.getMailTo().split(",");if (toWho.length == 0) {throw new BizException("邮件无法继续发送,因为缺少必要的参数!");}//创建一个简单邮件信息对象SimpleMailMessage simpleMailMessage = new SimpleMailMessage();//设置邮件的基本信息handleBasicInfo(simpleMailMessage, sendMailDto.getSubject(), sendMailDto.getContent(), toWho,sendMailDto);//发送邮件mailSender.send(simpleMailMessage);log.info("发送邮件成功: 主题->{}", sendMailDto.getSubject(), toWho);}/*** 用于填充简单文本邮件的基本信息** @param simpleMailMessage:文本邮件信息对象* @param subject:邮件主题* @param content:邮件内容* @param toWho:收件人*/public void handleBasicInfo(SimpleMailMessage simpleMailMessage, String subject, String content, String[] toWho,SendTextMailDto sendMailDto) {//设置发件人simpleMailMessage.setFrom(sendMailDto.getUsername());//设置邮件的主题simpleMailMessage.setSubject(subject);//设置邮件的内容simpleMailMessage.setText(content);//设置邮件的收件人simpleMailMessage.setTo(toWho);}
3.Controller
@Value("${spring.mail.host}")private String HOST;@Value("${spring.mail.port}")private Integer PORT ;@Value("${spring.mail.username}")private String USERNAME ;@Value("${spring.mail.password}")private String PASSWORD ;@Value("${spring.mail.protocol}")private String protocol;@Value("${spring.mail.default-encoding}")private String defaultEncoding;@ApiOperation("获取邮箱注册验证码")@RequestMapping(value = "/a",method = RequestMethod.GET)@ResponseBodypublic CommonResult a(@RequestParam String email) {SendTextMailDto sendTextMailDto = new SendTextMailDto();sendTextMailDto.setHost(HOST);sendTextMailDto.setPassword(PASSWORD);sendTextMailDto.setPort(PORT);sendTextMailDto.setProtocol(protocol);sendTextMailDto.setUsername(USERNAME);sendTextMailDto.setDefaultEncoding(defaultEncoding);sendTextMailDto.setMailTo(email);return memberService.emailCode(sendTextMailDto);}
4.在yml配置文件里面添加redis配置
5.service
/*** 获取邮箱注册验证码* @param sendTextMailDto 发送邮箱需要的参数* @return*/CommonResult emailCode(SendTextMailDto sendTextMailDto);
6.serviceImpl
ending!!!!!!!!!!!ok!!!!!!!
邮箱发送——使用spring自带的JavaMailSenderImpl实现邮件发送相关推荐
- java实现邮件发送_基于JavaMail的Java实现简单邮件发送功能
电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等.但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送.本 ...
- foxmail客户单发送html活动页面(含链接跳转)邮件(发送 转发)
foxmail客户单发送html活动页面(含链接跳转)邮件(发送 转发) 部门市场部一直在推广活动,所以给了一个需求 发送给客户官网活动页面的宣传邮件,并且要求邮件内的链接可以跳转到官网首页.不是很难 ...
- java邮件支持_使用Spring的JAVA Mail支持简化邮件发送功能
闲来无事,翻看<Spring in Action>,发现Spring集成了对JAVA Mail的支持,有点小激动的看了一遍,嗯,话说真的简单了很多. Spring的邮件发送的核心是Mail ...
- 基于python的毕业论文邮箱收发系统_基于python语言的自动化邮件发送总结
发邮件功能 有很多种,我目前 使用的是python的smptlib 模块提供的发邮件功能,可以使用里面的SMTP对象的sendmail方法发邮件. # -*- coding: utf-8 -*- '' ...
- 【ABAP】带PDF附件的邮件发送功能
备忘录 创建类/接口:(例如)ZCL_SEND_ATTACH 创建方法:SEND_PDF_FILE 参数:(具体各个用法这里不做详述) IM_FILE_HEADER_TEXT IM_EMAIL_SUB ...
- 【ABAP】带Excel附件的邮件发送功能
备忘录 创建类/接口:(例如)ZCL_SEND_ATTACH 创建方法:SEND_EXCEL_FILE 参数:(具体各个用法这里不做详述) IM_EMAIL_SUBJECT_LINE IM_EMAIL ...
- spring邮件发送带抄送和附件
1.近期做项目遇到了发邮件的需求.发邮件要求:多抄送.附件,话不多说,直接上代码: public class SendAttachmentMail {// Spring的邮件工具类,实现了MailSe ...
- 使用Spring实现邮件发送
2019独角兽企业重金招聘Python工程师标准>>> 这两天写个小程序需要使用邮件发送的功能,在网上搜索了一帮子文章,感觉还是使用Spring的邮件发送功能比较方便,哈哈,懒人就这 ...
- spring-boot邮件发送功能演示(163邮箱与QQ邮箱互发)
背景:使用 Spring Boot 发送邮件,演示的邮箱为 163邮箱与QQ邮箱,两者可以实现互发邮件. 问题:自己可以实现一下 QQ邮箱 发 QQ邮箱,163发163,是什么样的. 演示 :163 ...
最新文章
- WPF中Auto与*的差别
- mysql 创建、修改、删除表
- 浏览器是如何工作的?(转载)
- java getname_Java文件类字符串getName()方法(带示例)
- matplotlib一些常用知识点的整理,
- 域名防系统+独立接口池+独立会员+独立权限
- 一种保护应用程序的方法 模拟Windows PE加载器,从内存资源中加载DLL
- JavaScript案例精解(一)
- flex布局 占满_果冻公开课第九课:打破传统布局方式的flex(上)
- 基于三维地图的智慧园区可视化解决方案,智慧园区导航地图怎么制作?
- Ubuntu好用的软件推荐
- win7怎么看计算机Mac地址,win7如何查看mac地址?win7系统查看mac地址两种方法
- 基于R实现统计中的检验方法---方差分析
- 事业公共基础计算机,2011安徽省事业编公共基础知识(必备资料)
- PIBOT移植ROS2记录(2)-添加Node与cmd_vel
- android多行文本输入,android EditText多行文本输入的若干问题
- 手把手教你买基金----读书笔记
- html怎么设置两块区域,将两个视频一左一右拼接 可裁剪画面并设置视频画面大小及位置...
- Vue时间戳(年/月/日/时:分:秒and 刚刚/一分钟前···)
- JDK1.8新特性 Optional判空详解,简化判空操作