SpringBoot非官方教程 | 第二十一篇: springboot集成JMS
来源:互联网 发布:淘宝网文具盒 编辑:程序博客网 时间:2024/05/11 18:25
转载请标明出处:
http://blog.csdn.net/forezp/article/details/71024024
本文出自方志朋的博客
springboot对JMS提供了很好的支持,对其做了起步依赖。
构架工程
创建一个springboot工程,在其pom文件加入:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
添加配置
spring.mail.host=smtp.163.comspring.mail.username=miles02@163.comspring.mail.password=spring.mail.port=25spring.mail.protocol=smtpspring.mail.default-encoding=UTF-8
在password 中填写自己的邮箱密码。
测试发邮件
测试代码清单如下:
package com.forezp;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.core.io.FileSystemResource;import org.springframework.mail.SimpleMailMessage;import org.springframework.mail.javamail.JavaMailSenderImpl;import org.springframework.mail.javamail.MimeMessageHelper;import org.springframework.test.context.junit4.SpringRunner;import javax.mail.internet.MimeMessage;import java.io.File;@RunWith(SpringRunner.class)@SpringBootTestpublic class SpringbootJmsApplicationTests { @Test public void contextLoads() { } @Autowired private JavaMailSenderImpl mailSender; /** * 发送包含简单文本的邮件 */ @Test public void sendTxtMail() { SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); // 设置收件人,寄件人 simpleMailMessage.setTo(new String[] {"miles02@163.com"}); simpleMailMessage.setFrom("miles02@163.com"); simpleMailMessage.setSubject("Spring Boot Mail 邮件测试【文本】"); simpleMailMessage.setText("这里是一段简单文本。"); // 发送邮件 mailSender.send(simpleMailMessage); System.out.println("邮件已发送"); } /** * 发送包含HTML文本的邮件 * @throws Exception */ @Test public void sendHtmlMail() throws Exception { MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage); mimeMessageHelper.setTo("miles02@163.com"); mimeMessageHelper.setFrom("miles02@163.com"); mimeMessageHelper.setSubject("Spring Boot Mail 邮件测试【HTML】"); StringBuilder sb = new StringBuilder(); sb.append("<html><head></head>"); sb.append("<body><h1>spring 邮件测试</h1><p>hello!this is spring mail test。</p></body>"); sb.append("</html>"); // 启用html mimeMessageHelper.setText(sb.toString(), true); // 发送邮件 mailSender.send(mimeMessage); System.out.println("邮件已发送"); } /** * 发送包含内嵌图片的邮件 * @throws Exception */ @Test public void sendAttachedImageMail() throws Exception { MimeMessage mimeMessage = mailSender.createMimeMessage(); // multipart模式 MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); mimeMessageHelper.setTo("miles02@163.com"); mimeMessageHelper.setFrom("miles02@163.com"); mimeMessageHelper.setSubject("Spring Boot Mail 邮件测试【图片】"); StringBuilder sb = new StringBuilder(); sb.append("<html><head></head>"); sb.append("<body><h1>spring 邮件测试</h1><p>hello!this is spring mail test。</p>"); // cid为固定写法,imageId指定一个标识 sb.append("<img src=\"cid:imageId\"/></body>"); sb.append("</html>"); // 启用html mimeMessageHelper.setText(sb.toString(), true); // 设置imageId FileSystemResource img = new FileSystemResource(new File("E:/1.jpg")); mimeMessageHelper.addInline("imageId", img); // 发送邮件 mailSender.send(mimeMessage); System.out.println("邮件已发送"); } /** * 发送包含附件的邮件 * @throws Exception */ @Test public void sendAttendedFileMail() throws Exception { MimeMessage mimeMessage = mailSender.createMimeMessage(); // multipart模式 MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true, "utf-8"); mimeMessageHelper.setTo("miles02@163.com"); mimeMessageHelper.setFrom("miles02@163.com"); mimeMessageHelper.setSubject("Spring Boot Mail 邮件测试【附件】"); StringBuilder sb = new StringBuilder(); sb.append("<html><head></head>"); sb.append("<body><h1>spring 邮件测试</h1><p>hello!this is spring mail test。</p></body>"); sb.append("</html>"); // 启用html mimeMessageHelper.setText(sb.toString(), true); // 设置附件 FileSystemResource img = new FileSystemResource(new File("E:/1.jpg")); mimeMessageHelper.addAttachment("image.jpg", img); // 发送邮件 mailSender.send(mimeMessage); System.out.println("邮件已发送"); }}
测试已全部通过,没有坑。
参考资料
http://blog.720ui.com/2017/springboot_07_othercore_javamail/
源码下载
https://github.com/forezp/SpringBootLearning
优秀文章推荐:
- 更多springboot 教程:springBoot非官方教程 | 文章汇总
- 更多springcoud 教程:史上最简单的 SpringCloud 教程 | 文章汇总
3 0
- SpringBoot非官方教程 | 第二十一篇: springboot集成JMS
- SpringBoot非官方教程 | 第二十一篇: springboot集成JMS
- SpringBoot非官方教程 | 第二十一篇: springboot集成JMS
- SpringBoot非官方教程 | 第二十一篇: springboot集成JMS
- SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API
- SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API
- SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API
- SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API
- SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程
- SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程
- SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程
- SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程
- SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程
- SpringBoot非官方教程 | 第十二篇:springboot集成apidoc
- SpringBoot非官方教程 | 第十三篇:springboot集成spring cache
- SpringBoot非官方教程 | 第十二篇:springboot集成apidoc
- SpringBoot非官方教程 | 第十三篇:springboot集成spring cache
- SpringBoot非官方教程 | 第十三篇:springboot集成spring cache
- Java中堆内存和栈内存详解
- kylin安装---安装系列十一
- thinkphp--CURD操作
- Springboot 全局异常捕获
- 最简单实现vtk显示中文字符的办法
- SpringBoot非官方教程 | 第二十一篇: springboot集成JMS
- 未来的物联网将关注以下十个方面
- spring配置文件自动提示
- 周志华《机器学习》课后习题解答系列(六):Ch5.7
- 基础算法(二)---数据结构之图
- java中讲讲BufferedInputStream的用法,举例?
- Android原生分享功能的思考与实现
- Servlet返回中文
- 【leetcode】word-break-ii