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

      

  • 相关阅读:
    针对Ext js的分页存储过程适用于sqlserver2008
    30分钟LINQ教程
    windows server 2003 sp2安装VS2010之后需要打的几个布丁
    【翻译】Prism4:初始化Prism应用程序(上)
    ASP.NET WebAPI 路由规则与POST数据
    基于.net开发chrome核心浏览器【二】
    六种SQL Server删除重复行的方法
    Web在线操作Office文件 (转)
    ASP.NET 中如何对生成的 HTML 内容流进行控制?
    使用键值表实现通用流水号(转)
  • 原文地址:https://www.cnblogs.com/leigepython/p/10130820.html
Copyright © 2011-2022 走看看