SpringBoot 邮件发送以及嵌入 Html 样式

本文由黑壳网发布

本文来源SpringBoot邮件发送以及嵌入Html样式 - 黑壳网http://blog.bhusk.com/articles/2017/12/17/1513491520120.html

壳叔搞笑一刻

昨晚我爸看电视,看到新闻里正在播习 大大设国 宴款待外 国 领 导人,我让爸别换台,我爸就问我: “闺女,你什么时候开始关心国家大事啦?”
这时候我妈对我爸说: “咱闺女是想看看,国 宴吃的是什么!”
还是我妈了解我啊!……

正文

最近要写一个页面申请的功能,但是为了壳叔比较懒工作也多,不可能每天都看。想在现有Springboot框架上加一个邮件功能,如果有信息可以邮件提醒我,反正看邮件是已经养成习惯了,成天收邮件,手机也会提醒。

spring提供了一个非常不错的JavaMailSender实现发送邮件接口。在Spring Boot的Starter模块中也为此提供了自动化配置。具体实现方法也是非常的简单,接下来看下面的实实的干货。

项目代码

pom.xml文件 进行依赖

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

特殊说明:springboot采用1.5.3版本,可能会引起一些
注解小问题

application.properties 添加 JavaMailSender 配置文件配置

spring.mail.host=mail.qiye.aliyun.com #smtp.163.com or smtp.qq.com  设置邮件服务主机    
spring.mail.username=邮箱账户
spring.mail.password=邮箱密码

spring.mail.default-encoding=UTF-8 #设置默认编码

### 默认不建议修改
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=false
spring.mail.properties.mail.smtp.starttls.required=false

最最最关键的测试类代码

package com.bhusk.black;


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

import javax.mail.internet.MimeMessage;
import java.io.File;


/**
 * Created by bhusk on 2017/12/17 10:29
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTests {

    @Autowired
    private JavaMailSender mailSender;

    @Test
    public void sendSimpleMail() throws Exception {

        SimpleMailMessage message = new SimpleMailMessage();

        message.setFrom("black@bhusk.com"); //发送邮箱
        message.setTo("keshu@qq.com");  //收件邮箱
        message.setSubject("主题:简单邮件");
        message.setText("测试邮件内容");

        mailSender.send(message);
    }

    @Test
    public void sendAttachmentsMail() throws Exception {

        MimeMessage mimeMessage = mailSender.createMimeMessage();

        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        helper.setFrom("black@bhusk.com");
        helper.setTo("lu12121@qq.com");
        helper.setSubject("主题:有附件");
        helper.setText("有附件的邮件");

        FileSystemResource file = new FileSystemResource(new File("weixin.jpg"));
        helper.addAttachment("附件-1.jpg", file);
        helper.addAttachment("附件-2.jpg", file);

        mailSender.send(mimeMessage);
    }

    @Test
    public void sendInlineMail() throws Exception {

        MimeMessage mimeMessage = mailSender.createMimeMessage();

        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        helper.setFrom("black@bhusk.com");
        helper.setTo("lu12121@qq.com");
        helper.setSubject("主题:嵌入静态资源");
        helper.setText("<html><body><img src='http://image.bhusk.com/11a84075a304ac57f6d37323512fd24cde983635-0b9d80148b282eeaa188b196c2358d4ffd7006cb.png' ></body></html>", true);

        FileSystemResource file = new FileSystemResource(new File("weixin.jpg"));
        helper.addInline("weixin", file);

        mailSender.send(mimeMessage);
    }


}


关于我们

程序员太辛苦了

请善待你们身边的每一位程序员~

欢迎在评论写下你的程序员自黑体呦,嗯,相信你可以滴~~~~~~

以上内容,均来自互联网~

欢迎扫描二维码加入我们的组织
黑壳网交流群


黑壳博客 blog.bhusk.com

E-mail:keshu@bhusk.com

本文由 黑壳博客的壳叔 创作或转载,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。

可自由转载、引用,但需署名作者且注明文章

留下你的脚步
推荐阅读