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);
    }
    }

      

  • 相关阅读:
    hdu 4117 GRE Words (ac自动机 线段树 dp)
    IT段子,娱乐一下
    makefile 必知必会
    实现跳转到“微信公众账号”并打开添加某个固定微信用户为好友的页面(接口被封了,已经不可用)
    zxing 二维码扫描 配置和使用
    iOS $299刀企业证书申请的过程以及细节补充
    iOS设备的越狱方法
    iOS开发中 workspace 与 static lib 工程的联合使用
    ios如何在当前工程中添加编辑新建的FramesWork
    软件项目版本号的命名规则及格式
  • 原文地址:https://www.cnblogs.com/leigepython/p/10130820.html
Copyright © 2011-2022 走看看