zoukankan      html  css  js  c++  java
  • springboot 发送邮件+模板+附件

    package com.example.demo;

    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.javamail.JavaMailSender;
    import org.springframework.mail.javamail.MimeMessageHelper;
    import org.springframework.test.context.junit4.SpringRunner;
    import org.thymeleaf.TemplateEngine;
    import org.thymeleaf.context.Context;
    import org.thymeleaf.context.IContext;

    import javax.mail.MessagingException;
    import javax.mail.internet.MimeMessage;

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class SendMailWithTemplate {
    @Autowired
    JavaMailSender javaMailSender;

    @Autowired
    TemplateEngine templateEngine;

    @Test
    public void sendMailWithTempalte() throws MessagingException {
    MimeMessage mailMessage = javaMailSender.createMimeMessage();
    //开启带附件true
    MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true);
    // 声明一个上下文对象,里面放入要存到模板里面的数据
    IContext context = new Context();
    //获取模板html代码
    ((Context) context).setVariable("username", "alex");
    // 指定相应的模板,然后给context数据传过去
    String process = templateEngine.process("index", context);

    try {
    messageHelper.setFrom("wangzhilei@jd.com");
    messageHelper.setTo("wangzhilei@jd.com");
    // 抄送
    // String[] mails= new String[]{};
    // messageHelper.setCc(mails);
    // 密送
    // messageHelper.setBcc();
    messageHelper.setSubject("tempalte 模板邮件");
    // 设置处理好的结果,本质就是读取内容然后 后面一个参数html:true必须为true,保证正常的读取hml

    messageHelper.setText(process, true);
    // 发送模板的时候,同时带附件过去
    FileSystemResource fileSystemResource = new FileSystemResource("src/main/resources/static/images/a.jpg");
    messageHelper.addAttachment("b.jpg", fileSystemResource);
    } catch (MessagingException e) {
    e.printStackTrace();
    }

    javaMailSender.send(mailMessage);
    }
    }

      

  • 相关阅读:
    电脑内存九大常见问题解决方案
    学会快速装系统 图解硬盘分区软件Norton Ghost使用
    XP和Win 7双系统安装说明和注意事项
    Linux gzip、gunzip
    kylin的状态栏(启动器)改成ubuntu之前的样子
    chrome安装HTTP测试扩展
    程序员重要的事情
    PD003-NET通用后台系统
    通用后台管理系统(ExtJS 4.2 + Spring MVC 3.2 + Hibernate)
    UNICODE与ANSI的区别
  • 原文地址:https://www.cnblogs.com/leigepython/p/10130820.html
Copyright © 2011-2022 走看看