Springboot使用HTML模板发送电子邮件

先在application.yml加入配置

在写一个Servicel类我把整个类都贴出来,

第一个方法是以文本方式发送服务,

第二个是使用的Html的方式发送,设置发送人邮箱的时候如果不想使用配置文件的数据

可直接在上面写字符串格式的发送人邮箱

package com.yunhe.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.MailMessage;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMailMessage;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;

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

/**
 * class
 *
 * @author 安能
 * @date 2018年12月17日
 */
@Service
public class MailService {

    @Autowired
    //框架自带的
    private JavaMailSender mailSender;

    @Autowired
    MailService mailService;

    @Value("${spring.mail.username}")
    //发送人的邮箱  比如155156641XX@163.com,使用EL表达式获取在配置文件的发送人邮箱
    private String from;

    @Async  //意思是异步调用这个方法
    public void sendMail(String title, String url, String email) {
        SimpleMailMessage message = new SimpleMailMessage();
        // 发送人的邮箱
        message.setFrom(from);
        //标题
        message.setSubject(title);
        //发给谁  对方邮箱
        message.setTo(email);
        //内容
        message.setText(url);
        //发送
        mailSender.send(message);
    }

    public void sendHtmlMail(String to, String subject, String centent) throws MessagingException {
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        helper.setFrom(from);
        helper.setTo(to);
        helper.setSubject(subject);
        helper.setText(centent, true);
        mailSender.send(mimeMessage);

    }

}

下面在把控制器里面的信息贴出来

发送文本的控制器就不写了

都是一样的只是把内容换了一下

模板部分和普通的没什么区别

现在算是完成了一个简单的SpringBoot发送邮件

把成果贴出来:

经验分享 程序员 微信小程序 职场和发展