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

本贴最后更新于 2321 天前,其中的信息可能已经斗转星移

本文由黑壳网发布

本文来源 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);
    }


}


关于我们

程序员太辛苦了

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

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

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

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


  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    941 引用 • 1458 回帖 • 150 关注
  • 黑壳网
    68 引用 • 44 回帖 • 2 关注
  • 壳叔
    48 引用 • 31 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...