前面已经讲了使用springboot采用常规的javaweb方式发送邮件和使用spring模板发送邮件。但是发送的都是文本文件,现在来说一下使用spring模板发送一些其他的邮件。

1.pom.xml依赖

     <!--spring发送邮件--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><!--模板邮件--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId></dependency>

2.配置文件:

#####163邮箱########
spring.mail.host=smtp.163.com
spring.mail.username=xxxxxxx@163.com
#163邮箱授权码
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

3.发送各种邮件方法:

@Controller
public class ModelController {@Autowiredprivate JavaMailSender mailSender;@Value("${spring.mail.username}")private String Sender; //读取配置文件中的参数
    @Autowiredprivate FreeMarkerConfigurer freeMarkerConfigurer; /*** spring发送文本邮件*/@RequestMapping("/mail")@ResponseBodypublic String sendMail(){SimpleMailMessage message = new SimpleMailMessage();message.setFrom(Sender);message.setTo("*********@qq.com");message.setSubject("主题:简单邮件");message.setText("测试邮件内容");mailSender.send(message);return "发送成功!";}/*** spring发送Html邮件*/@RequestMapping("/mailHtml")@ResponseBodypublic String sendHtmlMail(){MimeMessage message = null;try {message = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message, true);helper.setFrom(Sender);helper.setTo("*********@qq.com");helper.setSubject("标题:发送Html内容");StringBuffer sb = new StringBuffer();sb.append("<h1>大标题-h1</h1>").append("<p style='color:#F00'>红色字</p>").append("<p style='text-align:right'>右对齐</p>");helper.setText(sb.toString(), true);} catch (Exception e) {e.printStackTrace();}mailSender.send(message);return "发送成功!";}/*** spring发送带附件的邮件*/@RequestMapping("/mailAttach")@ResponseBodypublic String sendAttachmentsMail(){MimeMessage message = null;try {message = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message, true);helper.setFrom(Sender);helper.setTo("*********@qq.com");helper.setSubject("主题:带附件的邮件");helper.setText("带附件的邮件内容");//注意项目路径问题,自动补用项目路径FileSystemResource file = new FileSystemResource(new File("F:\\临时\\SpringBoot\\src\\main\\resources\\static\\image\\迪丽热巴.jpg"));//加入邮件helper.addAttachment("热巴.jpg", file);} catch (Exception e){e.printStackTrace();}mailSender.send(message);return "发送成功!";}/*** spring发送带静态资源的邮件,资源直接发在邮件内容里,不是附件形式。*/@RequestMapping("/mailLine")@ResponseBodypublic String sendInlineMail(){MimeMessage message = null;try {message = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message, true);helper.setFrom(Sender);helper.setTo("*********@qq.com");helper.setSubject("主题:带静态资源的邮件");//第二个参数指定发送的是HTML格式,同时cid:是固定的写法helper.setText("<html><body>带静态资源的邮件内容 图片:<img src='cid:picture' /></body></html>", true);FileSystemResource file = new FileSystemResource(new File("F:\\临时\\SpringBoot\\src\\main\\resources\\static\\image\\迪丽热巴.jpg"));helper.addInline("picture",file);} catch (Exception e){e.printStackTrace();}mailSender.send(message);return "发送成功!";}/*** spring发送模板邮件*/@RequestMapping("/mailTemplate")@ResponseBodypublic String sendTemplateMail(){MimeMessage message = null;try {message = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message, true);helper.setFrom(Sender);helper.setTo("*********@qq.com");helper.setSubject("主题:模板邮件");Map<String, Object> model = new HashedMap();model.put("username", "zggdczfr");//修改 application.properties 文件中的读取路径
//            FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
//            configurer.setTemplateLoaderPath("classpath:templates");//读取 html 模板Template template = freeMarkerConfigurer.getConfiguration().getTemplate("mail.html");String html = FreeMarkerTemplateUtils.processTemplateIntoString(template, model);helper.setText(html, true);} catch (Exception e) {e.printStackTrace();}mailSender.send(message);return "发送成功!";}}

4.图片和模板存放位置:

转载于:https://www.cnblogs.com/heqiyoujing/p/9529710.html

spring boot发送其他邮件相关推荐

  1. 阿里云服务器spring boot 发送QQ邮件25端口被封怎么办

    application.properties  这是使用指定465端口 spring.mail.host=smtp.qq.com spring.mail.port=465 spring.mail.us ...

  2. 使用spring mail发送html邮件

    为什么80%的码农都做不了架构师?>>>    序 本文展示一下如何使用spring mail来发送html邮件. maven <!-- email --><dep ...

  3. (转)Spring Boot (十):邮件服务

    http://www.ityouknow.com/springboot/2017/05/06/spring-boot-mail.html Spring Boot 仍然在狂速发展,才几个多月没有关注,现 ...

  4. Spring Boot - 发送电子邮件

    文章目录 环境 发送邮件 邮箱设置 项目结构 配置 编码 测试 参考 环境 操作系统: Windows 10 x64 集成开发环境: Spring Tool Suite 4 Version: 4.14 ...

  5. Spring boot 发送手机验证码

    由于阿里云现在的短信签名无法通过申请,所以我这里选择了中国网建SMS短信平台(手机号注册即用,有免费赠送的几条短信测试) demo代码地址:https://github.com/mer97/sprin ...

  6. Spring Boot 监控信息邮件报警通知

    在Spring Boot Admin Server中 进行设置 1.添加依赖 <dependency><groupId>org.springframework.boot< ...

  7. spring boot发送普通文本邮件/HTML邮件/附件邮件/图片邮件完整代码

    配置文件 Controller层

  8. Chat 优选 | 纯洁的微笑教你使用 Spring Boot 开发邮件系统

    邮件发送是互联网企业中必备的功能之一,应用场景非常广泛,比较常见的有:用户注册.忘记密码.监控提醒.企业营销等. 大多数互联网企业都会将邮件发送抽取为一个独立的微服务,对外提供接口来支持各种类型的邮件 ...

  9. 在Spring Boot应用程序中测试邮件代码

    在构建Spring Boot应用程序时,您可能会需要添加邮件配置. 实际上,在Spring Boot中配置邮件与在Spring Bootless应用程序中配置邮件没有太大区别. 但是,如何测试邮件配置 ...

  10. spring boot 使用javaMailSender 发送qq邮箱验证码

    一 qq邮箱设置 1登录邮箱打开设置 2点击账号 3开启 POP3/SMTP服务 4保存密钥(这个一定要保存后面在java里面要调用) 二. spring boot代码设置 1.maven导入jar包 ...

最新文章

  1. ISE 14.7安装教程
  2. Redis高级数据结构原理解析-bitmap,hyperloglog
  3. 融合Thread网路协议 ZigBee新版规范Q3出笼
  4. 「每天一道面试题」谈String和StringBuffer、StringBuilder区别
  5. java电商ERP源码 跨境电商ERP源码 ERP源码
  6. Matlab 三角函数(sin)
  7. matlab/simulink 永磁直驱海上风电场仿真模型 含集群电流源等效 海上风电场线路结构
  8. erp系统包括哪些模块
  9. 2019 Multi-University Training Contest 3:Yukikaze and Demons(点分治 + exgcd)
  10. vue+原生js实现从excel复制内容粘贴至table中展示
  11. Servlet的Request和Response
  12. 第二章 实例研究:设计一个文档编辑器--《设计模式-可复用面向对象软件的基础》Erich Gamma
  13. 【网页制作】jQuery操作css实现设置箭头图片
  14. win7 打开图片提示内存不足
  15. 软件测试就业前景如何?
  16. 简历中的自我评价怎么写?
  17. [2021年12月31日] 今天得到了19年开发老兵的感悟/职场的认知,你必须要看一看了
  18. MyBatis之association嵌套
  19. html中的disabled属性的使用方式
  20. WINDOWS自带的扫雷游戏作弊方法

热门文章

  1. mouseover 和 hover 方法
  2. Unity3D研究院之手游开发中所有特殊的文件夹(转)
  3. 【转】ASPNET程序中常用的三十三种代码
  4. AjaxControlToolKit之AutoCompleteExtender用法
  5. 上下求索——基于双向推理的多跳知识库问答技术
  6. 【推荐系统】BERT4Rec:使用Bert进行序列推荐
  7. 【GNN】百度「NLP」面试的一点总结
  8. 【干货】12场比赛实战经验分享给你!
  9. 【概率笔记】这些概率公理性质你需要会的呀
  10. 阿里内部平台VS火山引擎后端开发,拿头比?