springboot快速发送邮件

使用Spring-Boot的Mail来发送邮件,只需要导入依赖,配置参数,即可开始使用

  • 1.导入spring-boot-starter-mail依赖
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
spring.mail.host=smtp.qq.com
spring.mail.port=587
#发送人的邮箱
spring.mail.username=xxx@163.com
#授权码
spring.mail.password=xxxxxxxxxxxxxxxx
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.socketFactory=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.debug=true
  • 3.测试发送简单邮件
	@Autowired
    JavaMailSender javaMailSender;

    @Test
    public void testSendMail() throws Exception {
        MimeMessage msg = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(msg, true);
        helper.setSubject("这是一个测试邮件主题");
        helper.setText("测试邮件的内容");
        //发送人邮箱,与配置文件中保持一致
        helper.setFrom("xxx@163.com");
        //接收人邮箱
        helper.setTo("xxx@qq.com");
        helper.setSentDate(new Date());
        javaMailSender.send(msg);
    }
  • 4.测试发送携带附件的邮件
	@Autowired
    JavaMailSender javaMailSender;
	
	@Test
    public void testSendMailAndAccessory() throws MessagingException {
        MimeMessage msg = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(msg, true);
        helper.setSubject("这是一个测试邮件主题(含附件)");
        helper.setText("测试邮件的内容(含附件)");
        //发送人邮箱,与配置文件中保持一致
        helper.setFrom("xxx@163.com");
        //接收人邮箱
        helper.setTo("xxx@qq.com");
        helper.setSentDate(new Date());
        helper.addAttachment("course.jpg", new File("E:\\course.jpg"));
        javaMailSender.send(msg);
    }
  • 5.测试发送携带图片的邮件
	@Autowired
    JavaMailSender javaMailSender;
	
	@Test
    public void testSendMailAndImg() throws Exception {
        MimeMessage msg = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(msg, true);
        helper.setSubject("这是一个测试邮件主题(含图片)");
        helper.setText("测试邮件的内容<br/>第一张图:<img src='cid:p01'/><br/>第二张图:<img src='cid:p02'/>", true);
        //发送人邮箱,与配置文件中保持一致
        helper.setFrom("xxx@163.com");
        //接收人邮箱
        helper.setTo("xxx@qq.com");
        helper.setSentDate(new Date());
        helper.addInline("p01", new File("E:\\1.jpg"));
        helper.addInline("p02", new File("E:\\2.png"));
        javaMailSender.send(msg);
    }
  • 6.使用thymeleaf模板发送邮件

额外依赖:

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

html模板 mail.html:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div>
        <h1>Hello 欢迎 <span style="color: red" th:text="${username}"></span> 使用该邮件!</h1>
    </div>
</body>
</html>
	@Autowired
    JavaMailSender javaMailSender;
	
	@Autowired
    TemplateEngine templateEngine;

    @Test
    public void testByThymeleafSendMail() throws Exception {
        MimeMessage msg = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(msg, true);

        helper.setSubject("这是一个测试邮件主题(thymeleaf)");
        
        //进行模板渲染
        Context context = new Context();
        context.setVariable("username", "小王");
        String process = templateEngine.process("mail.html", context);
        
        helper.setText(process, true);
		//发送人邮箱,与配置文件中保持一致
        helper.setFrom("xxx@qq.com");
        //接收人邮箱
        helper.setTo("xxx@qq.com");
        helper.setSentDate(new Date());
        javaMailSender.send(msg);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值