话不多说,直接上代码吧。

1.引入依赖

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-mail -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId><version>2.1.4.RELEASE</version>
</dependency>

2.全局环境配置

#邮件发送配置
spring.mail.host=smtp.qq.com
spring.mail.username=xxx@qq.com  //发送方的邮箱
spring.mail.password=密码  // 对于qq邮箱,密码指的是授权码
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=truespring.mail.sender=xxx@qq.com

开始编码:

3. EmailService

public interface EmailService {/*** 简单邮件* @param sendto* @param title* @param content*/void Sender(String sendto, String title, String content);/*** 带附件邮件发送* @param sendto* @param title* @param content* @param file 文件*/void sendAttachementFileMail(String sendto, String title, String content, File file);
}

4.ImpEmailService service接口实现

     * @创建人:* @创建时间: 2019/4/18* @描述: 带附件邮件发送*/@Service
public class ImpEmailService implements EmailService {@Value("${spring.mail.sender}")private String sender;@Autowiredprivate JavaMailSender mailSender;/*** @创建人:* @创建时间: 2019/4/18* @描述: 带附件邮件发送*/@Overridepublic void Sender(String sendto, String title, String content) {SimpleMailMessage simpleMailMessage = new SimpleMailMessage();//发件人simpleMailMessage.setFrom(sender);//发送给谁simpleMailMessage.setTo(sendto);//邮件主题simpleMailMessage.setSubject(title);//邮件内容simpleMailMessage.setText(content);mailSender.send(simpleMailMessage);}@Overridepublic void sendAttachementFileMail(String sendto, String title, String content, File file) {MimeMessage mimeMessage = mailSender.createMimeMessage();try {MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);//发件人messageHelper.setFrom(sender);messageHelper.setTo(sendto);messageHelper.setSubject(title);messageHelper.setText(content);System.out.println("发件人:" + sender + "\n" +"收件人:" + sendto + "\n" +"标题:" + title + "\n" +"内容:" + content);//附件FileSystemResource fileSystemResource = new FileSystemResource(file);String fileName = file.getName();System.out.println(fileName);messageHelper.addAttachment(fileName, fileSystemResource);} catch (MessagingException e) {e.printStackTrace();}mailSender.send(mimeMessage);}

5. Controller

public class EmailController {@AutowiredEmailService emailService;@Autowiredprivate JavaMailSender mailSender;@PutMapping("/sendEmail")public String sendMail(){emailService.Sender("xxx@qq.com", "Spring Boot邮件功能测试", "怎么更换密保手机?+" \n"  +1、QQ能登录,密保手机、QQ安全中心手机版中的任何一种可用时,您可以登录QQ安全中心官网->密保手机->更换、通过统一安全验证->更换密保手机审核时间过后,即可更换;+" \n" +"                \"2、若您密保手机不在使用,请您进入QQ安全中心官网并登录您的QQ帐号->密保手机->点击“更换”->我已换号->输入新手机号码->更换其他验证方式,通过资料验证即可更换。+" \n" +"                \"注:若验证不通过,请继续邀请好友辅助,我们会根据反馈结果重新审核,结果将在4个小时内下发至填写的联系方式,请您留意。");return "发送成功";}@PutMapping("/sendFileEmail")public String sendFileMail(){File file=new File("E:/log/spring.log");emailService.sendAttachementFileMail("xxx@qq.com","Spring Boot带附件邮件功能测试", "请注意查收附件!", file);return "带附件邮件发送成功!";}
}

在PostMan 中测试,
带附件邮件测试
http://localhost:8080/sendFileEmail

简单邮件测试
http://localhost:8080/sendEmail

是正常的, 可以正常发出邮件。

SpringBoot简单/带附件邮件发送相关推荐

  1. 采用SpringBoot发送简单、抄送、密送、带附件邮件

    前言:JavaMail发送邮件的形式多种多样,有简单.抄送.密送.带附件邮件等. 1. 业务需求 实现邮件的简单.抄送.密送和带附件发送四种方式. 2. 实现步骤     在这里,我使用QQ邮箱作为测 ...

  2. python3发送邮件_Python3使用SMTP发送带附件邮件

    一.设置开启SMTP服务并获取授权码 可以参考第一篇文章,这里不再赘述:[一]https://www.jb51.net/article/142220.htm 二.使用Python3 发送带附件的邮件 ...

  3. Python 发送邮件 和 发送带附件邮件

    摘要:      平时运行一些脚本,需要把结果发送到邮箱,可以用python来处理,如下: 1,有邮件服务器: #!/bin/env python # -*- encoding: utf-8 -*- ...

  4. python邮件发送csv附件_Python2.7 smtplib发送带附件邮件报错STARTTLS解决方法

    最近在SIOMP系统中添加一项功能时,即自动发送带附件邮件到指定邮箱时,发现在发送时报错:错误信息:STARTTLS extension not supported by server.很是奇怪,但发 ...

  5. SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊)

    SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊) 目录 SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊) 1.概述 2.最佳实践 2.1创建项目引入依赖(mail) ...

  6. SpringBoot整合Javamail实现邮件发送

    博客主页:踏风彡的博客 博主介绍:一枚在学习的大学生,希望在这里和各位一起学习. 所属专栏:SpringBoot学习笔记 文章创作不易,期待各位朋友的互动,有什么学习问题都可在评论区留言或者私信我,我 ...

  7. 使用springboot发送带附件邮件(465端口加密邮件)

    一.开启SMTP服务 二.编码 1.加依赖(pom.xml) <dependency><groupId>org.springframework.boot</groupId ...

  8. python中带附件发送电子邮件_python发送带附件邮件

    Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. py ...

  9. .net发送带附件邮件

    开发工具:vs2008 .net发送邮件相对比较简单.如下几步: 一.配置web.config 要注意邮件服务器的权限设置,是否有此账号,对服务器IP是否有限制等,用户名和密码可以设置在这里,程序中就 ...

最新文章

  1. 深入理解Java中的final关键字
  2. Notepad++如何更改背景色(以保护视力色为例)
  3. java 方法 参数 引用_Java 基础
  4. python划分数据集_Python数据集切分实例
  5. golang的一个简单小爬虫demo学习记录
  6. 蜂窝注册表和永久存储
  7. Egret资源管理解决方案
  8. Docker修改容器系统时间命令组
  9. solaris10下vim安装
  10. 麒麟v10服务器系统搭建本地源
  11. MAKEFILE【4】-Makefile中的wildcard用法
  12. 医院计算机专业年薪,说一些我朋友真实的深圳公立三甲医院编制收入
  13. streamlit简介和使用教程1
  14. php是一种什么脚本语言
  15. Linux系统环境准备-包含[close关闭防火墙/配置主机时间/地区/系统语言
  16. 三类考试新练习试题附答案
  17. Java中append方法和add方法的区别
  18. 国家自然基金相关资料
  19. 解决win10服务主机:网络服务占用网络宽带的方法(自测有效)
  20. 8.12 Python web前端 HTML认识

热门文章

  1. 设置快捷键(3种方式)
  2. 苹果6s上市时间_iPhone7的A10处理器还能战多长时间?2-3年不成问题!
  3. 精品软件 推荐 佛弟子播放器 整合了网络上的佛教资源
  4. Vue 上传照片要求 Content-Type 为 multipart/form-data
  5. while和do while区别?
  6. php怎么四舍五入,PHP实现四舍五入的3种方法
  7. 做运营2年,总结运营应具备的2种思维方式和3个习惯
  8. OLED如何播放badapple
  9. 构建鸢尾花决策树模型
  10. 每日生产万亿消息数据入库,腾讯如何突破大数据分析架构瓶颈