27283386ed61ed5b082e161e3b262966.jpeg

springboot对JMS提供了很好的支持,对其做了起步依赖。

构架工程

创建一个springboot工程,在其pom文件加入:

     <dependency>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-starter-mail</artifactId>     </dependency>

添加配置

spring.mail.host=smtp.163.com spring.mail.username=miles02@163.com spring.mail.password= spring.mail.port=25 spring.mail.protocol=smtp spring.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) @SpringBootTest public 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


更多相关文章

  1. 一次授权的安全测试
  2. Linux定时任务邮件信息占盘磁盘
  3. 【编测编学】接口测试面试题必背(上)
  4. 解答 H 大的公布的 10 道 Java 测试题
  5. 【编测编学】接口测试面试题必背(下)
  6. 网络变更服务器不断网方案测试
  7. 快速测试 API 接口的新技能
  8. 作为一个Java程序员必须要知道的单元测试框架Junit详解
  9. Selenium3自动化测试【12】元素定位认知

随机推荐

  1. Android: Android图形基础
  2. Android学习笔记 - 控件篇
  3. 做Android的感想
  4. Android API中文文档AccessibilityServic
  5. EditText部分属性使用
  6. Android标题栏、状态栏、全屏
  7. Android向服务器的数据库MySQL传输数据:经
  8. android Android build.gradle 配置注释
  9. Android的NDK开发(5)————Android(安
  10. 安卓---EditText控件的使用