资讯专栏INFORMATION COLUMN

SpringBoot非官方教程 | 第二十一篇: springboot集成JMS

roundstones / 2786人阅读

摘要:对提供了很好的支持,对其做了起步依赖。构架工程创建一个工程,在其文件加入添加配置在中填写自己的邮箱密码。启用设置附件发送邮件邮件已发送测试已全部通过,没有坑。

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

构架工程

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


    org.springframework.boot
    spring-boot-starter-mail

添加配置
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("");
        sb.append("

spring 邮件测试

hello!this is spring mail test。

"); sb.append(""); // 启用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(""); sb.append("

spring 邮件测试

hello!this is spring mail test。

"); // cid为固定写法,imageId指定一个标识 sb.append(""); sb.append(""); // 启用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(""); sb.append("

spring 邮件测试

hello!this is spring mail test。

"); sb.append(""); // 启用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/sp...

源码下载

https://github.com/forezp/Spr...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71442.html

相关文章

  • SpringBoot官方教程 | 第一篇SpringBoot集成swagger2,构建优雅的R

    摘要:另外很容易构建风格的,简单优雅帅气,正如它的名字。配置一些基本的信息。三写生产文档的注解通过注解表明该接口会生成文档,包括接口名请求方法参数返回信息的等等。四参考资料中使用构建强大的文档 swagger,中文拽的意思。它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试。另外swagger很容易构建restful风格的api,简单优雅帅气...

    荆兆峰 评论0 收藏0
  • 一起来学SpringBoot | 第一篇集成Swagger在线调试

    摘要:但是这种手写文档带来的弊端就是维护起来苦不堪言,对于接口容易发生变化的开发者来说,维护文档就是噩梦好在现如今市场上书写文档的工具有很多,常见的有阿里的但是能称之为框架的,估计也只有了。 SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖...

    everfly 评论0 收藏0
  • SpringBoot官方教程 | 二十二篇: 创建含有多module的springboot工程

    这篇文章主要介绍如何在springboot中如何创建含有多个module的工程,栗子中含有两个 module,一个作为libarary. 工程,另外一个是主工程,调用libary .其中libary jar有一个服务,main工程调用这个服务。 创建根工程 创建一个maven 工程,其pom文件为: 4.0.0 com.forezp springboot-multi-...

    Scott 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<