spring boot发送其他邮件
前面已经讲了使用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发送其他邮件相关推荐
- 阿里云服务器spring boot 发送QQ邮件25端口被封怎么办
application.properties 这是使用指定465端口 spring.mail.host=smtp.qq.com spring.mail.port=465 spring.mail.us ...
- 使用spring mail发送html邮件
为什么80%的码农都做不了架构师?>>> 序 本文展示一下如何使用spring mail来发送html邮件. maven <!-- email --><dep ...
- (转)Spring Boot (十):邮件服务
http://www.ityouknow.com/springboot/2017/05/06/spring-boot-mail.html Spring Boot 仍然在狂速发展,才几个多月没有关注,现 ...
- Spring Boot - 发送电子邮件
文章目录 环境 发送邮件 邮箱设置 项目结构 配置 编码 测试 参考 环境 操作系统: Windows 10 x64 集成开发环境: Spring Tool Suite 4 Version: 4.14 ...
- Spring boot 发送手机验证码
由于阿里云现在的短信签名无法通过申请,所以我这里选择了中国网建SMS短信平台(手机号注册即用,有免费赠送的几条短信测试) demo代码地址:https://github.com/mer97/sprin ...
- Spring Boot 监控信息邮件报警通知
在Spring Boot Admin Server中 进行设置 1.添加依赖 <dependency><groupId>org.springframework.boot< ...
- spring boot发送普通文本邮件/HTML邮件/附件邮件/图片邮件完整代码
配置文件 Controller层
- Chat 优选 | 纯洁的微笑教你使用 Spring Boot 开发邮件系统
邮件发送是互联网企业中必备的功能之一,应用场景非常广泛,比较常见的有:用户注册.忘记密码.监控提醒.企业营销等. 大多数互联网企业都会将邮件发送抽取为一个独立的微服务,对外提供接口来支持各种类型的邮件 ...
- 在Spring Boot应用程序中测试邮件代码
在构建Spring Boot应用程序时,您可能会需要添加邮件配置. 实际上,在Spring Boot中配置邮件与在Spring Bootless应用程序中配置邮件没有太大区别. 但是,如何测试邮件配置 ...
- spring boot 使用javaMailSender 发送qq邮箱验证码
一 qq邮箱设置 1登录邮箱打开设置 2点击账号 3开启 POP3/SMTP服务 4保存密钥(这个一定要保存后面在java里面要调用) 二. spring boot代码设置 1.maven导入jar包 ...
最新文章
- ISE 14.7安装教程
- Redis高级数据结构原理解析-bitmap,hyperloglog
- 融合Thread网路协议 ZigBee新版规范Q3出笼
- 「每天一道面试题」谈String和StringBuffer、StringBuilder区别
- java电商ERP源码 跨境电商ERP源码 ERP源码
- Matlab 三角函数(sin)
- matlab/simulink 永磁直驱海上风电场仿真模型 含集群电流源等效 海上风电场线路结构
- erp系统包括哪些模块
- 2019 Multi-University Training Contest 3:Yukikaze and Demons(点分治 + exgcd)
- vue+原生js实现从excel复制内容粘贴至table中展示
- Servlet的Request和Response
- 第二章 实例研究:设计一个文档编辑器--《设计模式-可复用面向对象软件的基础》Erich Gamma
- 【网页制作】jQuery操作css实现设置箭头图片
- win7 打开图片提示内存不足
- 软件测试就业前景如何?
- 简历中的自我评价怎么写?
- [2021年12月31日] 今天得到了19年开发老兵的感悟/职场的认知,你必须要看一看了
- MyBatis之association嵌套
- html中的disabled属性的使用方式
- WINDOWS自带的扫雷游戏作弊方法