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实现邮件发送相关推荐

  1. java实现邮件发送_基于JavaMail的Java实现简单邮件发送功能

    电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等.但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送.本 ...

  2. foxmail客户单发送html活动页面(含链接跳转)邮件(发送 转发)

    foxmail客户单发送html活动页面(含链接跳转)邮件(发送 转发) 部门市场部一直在推广活动,所以给了一个需求 发送给客户官网活动页面的宣传邮件,并且要求邮件内的链接可以跳转到官网首页.不是很难 ...

  3. java邮件支持_使用Spring的JAVA Mail支持简化邮件发送功能

    闲来无事,翻看<Spring in Action>,发现Spring集成了对JAVA Mail的支持,有点小激动的看了一遍,嗯,话说真的简单了很多. Spring的邮件发送的核心是Mail ...

  4. 基于python的毕业论文邮箱收发系统_基于python语言的自动化邮件发送总结

    发邮件功能 有很多种,我目前 使用的是python的smptlib 模块提供的发邮件功能,可以使用里面的SMTP对象的sendmail方法发邮件. # -*- coding: utf-8 -*- '' ...

  5. 【ABAP】带PDF附件的邮件发送功能

    备忘录 创建类/接口:(例如)ZCL_SEND_ATTACH 创建方法:SEND_PDF_FILE 参数:(具体各个用法这里不做详述) IM_FILE_HEADER_TEXT IM_EMAIL_SUB ...

  6. 【ABAP】带Excel附件的邮件发送功能

    备忘录 创建类/接口:(例如)ZCL_SEND_ATTACH 创建方法:SEND_EXCEL_FILE 参数:(具体各个用法这里不做详述) IM_EMAIL_SUBJECT_LINE IM_EMAIL ...

  7. spring邮件发送带抄送和附件

    1.近期做项目遇到了发邮件的需求.发邮件要求:多抄送.附件,话不多说,直接上代码: public class SendAttachmentMail {// Spring的邮件工具类,实现了MailSe ...

  8. 使用Spring实现邮件发送

    2019独角兽企业重金招聘Python工程师标准>>> 这两天写个小程序需要使用邮件发送的功能,在网上搜索了一帮子文章,感觉还是使用Spring的邮件发送功能比较方便,哈哈,懒人就这 ...

  9. spring-boot邮件发送功能演示(163邮箱与QQ邮箱互发)

    背景:使用 Spring Boot 发送邮件,演示的邮箱为 163邮箱与QQ邮箱,两者可以实现互发邮件. 问题:自己可以实现一下 QQ邮箱 发 QQ邮箱,163发163,是什么样的. 演示 :163 ...

最新文章

  1. WPF中Auto与*的差别
  2. mysql 创建、修改、删除表
  3. 浏览器是如何工作的?(转载)
  4. java getname_Java文件类字符串getName()方法(带示例)
  5. matplotlib一些常用知识点的整理,
  6. 域名防系统+独立接口池+独立会员+独立权限
  7. 一种保护应用程序的方法 模拟Windows PE加载器,从内存资源中加载DLL
  8. JavaScript案例精解(一)
  9. flex布局 占满_果冻公开课第九课:打破传统布局方式的flex(上)
  10. 基于三维地图的智慧园区可视化解决方案,智慧园区导航地图怎么制作?
  11. Ubuntu好用的软件推荐
  12. win7怎么看计算机Mac地址,win7如何查看mac地址?win7系统查看mac地址两种方法
  13. 基于R实现统计中的检验方法---方差分析
  14. 事业公共基础计算机,2011安徽省事业编公共基础知识(必备资料)
  15. PIBOT移植ROS2记录(2)-添加Node与cmd_vel
  16. android多行文本输入,android EditText多行文本输入的若干问题
  17. 手把手教你买基金----读书笔记
  18. html怎么设置两块区域,将两个视频一左一右拼接 可裁剪画面并设置视频画面大小及位置...
  19. Vue时间戳(年/月/日/时:分:秒and 刚刚/一分钟前···)
  20. JDK1.8新特性 Optional判空详解,简化判空操作

热门文章

  1. 【数据分析案例】某瓣读书数据分析
  2. java中事件监听的实现
  3. 02-SpringBoot工程中JDBC应用实践
  4. Android监听系统广播 和自定义广播遇到的问题
  5. 2021-2027全球与中国纯电动汽车 (BEV) 中的电容器市场现状及未来发展趋势
  6. 最强最简单的方法:本地安装,阅读官方go博客《Go Blog》
  7. 零售药品计算机系统培训ppt,药品经营企业计算机系统PPT学习教案.pptx
  8. 常用的 Rapidshare 搜索引擎
  9. 设计之下:搜狐新闻客户端的用户体验设计
  10. 我只想轻轻地述说那些心事