Spring Boot 对Java mail 集成提供了自动配置的支持,只需要配置依赖以及在application.properties 里配置邮件信息即可。

添加依赖:

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

在 src/main/resources/application.properties 中配置邮件信息:

# java email
# 对应发送服务器的STMP服务器地址
spring.mail.host=smtp.qq.com
# 发件人邮箱地址
spring.mail.username=*****@qq.com
# stmp授权密码
spring.mail.password=*****
# 设置端口号 QQ开放465/587
spring.mail.port=587
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8

测试 | 发送内嵌图片的邮件

@Component
public class SpendMail {
@Autowired
private JavaMailSenderImpl mailSender;
public void sendAttachedImageMail() throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage(); // multipart模式
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
// 对应发送服务器的地址
mimeMessageHelper.setTo("*****@qq.com");
// 对应接受邮件地址
mimeMessageHelper.setFrom("******@qq.com");
// 设置主题
mimeMessageHelper.setSubject("测试【图片】"); // 构建HTML代码
StringBuilder sb = new StringBuilder();
sb.append("<html><head></head>");
sb.append("<body><h1>登录验证</h1><p>请在一个小时内验证。</p>");
// cid为固定写法,imageId指定一个标识
sb.append("<img src=\"cid:imageId\"/></body>");
sb.append("</html>"); // 启用html
mimeMessageHelper.setText(sb.toString(), true); // 设置imageId
FileSystemResource img = new FileSystemResource(new File("D:/1.png"));
mimeMessageHelper.addInline("imageId", img); // 发送邮件
mailSender.send(mimeMessage); }
}

获取stmp授权密码 | QQ邮箱

官方帮助文档:https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256

进入设置-》帐户页面找到入口,按照以下流程操作。
(1)点击“开启”

借鉴博客:http://blog.720ui.com/2017/springboot_07_othercore_javamail/

SpringBoot | 集成Java Mail的更多相关文章

  1. Java发送邮件 —— SpringBoot集成Java Mail

    用途:此文仅供,自己今后的小程序通过邮件,批量通知用户. 简单记录了一些发送基本邮件的操作. 项目(SpringBoot版本为2.1.2.RELEASE): 核心依赖(其他相关依赖,在其使用的地方具体 ...

  2. Java - Java Mail邮件开发(2)springboot +Java Mail + Html

    1.springboot + Java Mail + Html 项目结构: pom.xml <project xmlns="http://maven.apache.org/POM/4. ...

  3. Spring Boot 揭秘与实战(七) 实用技术篇 - Java Mail 发送邮件

    文章目录 1. Spring Boot 集成 Java Mail 2. 单元测试 3. 源代码 Spring 对 Java Mail 有很好的支持.因此,Spring Boot 也提供了自动配置的支持 ...

  4. springboot集成mail实现邮件服务

    1,新建mailconfig类,对邮件服务固定配置进行实体封装: import java.util.Properties; import org.springframework.beans.facto ...

  5. Java发送Email邮件及SpringBoot集成

    一:普通方式发送 1.导包 <!--Java MAil 发送邮件API--> <dependency> <groupId>javax.mail</groupI ...

  6. Springboot集成mybatis(mysql),mail,mongodb,cassandra,scheduler,redis,kafka,shiro,websocket

    https://blog.csdn.net/a123demi/article/details/78234023  : Springboot集成mybatis(mysql),mail,mongodb,c ...

  7. 【Java】Springboot集成Druid

    Springboot集成Druid方案:一个是在POM中直接配置druid-spring-boot-starter,不用写任何代码:一个是配置druid,写几行代码,可以加入:在方案一基础上加入sta ...

  8. SpringBoot集成邮件发送

    一:简述 在日常中的工作中难免会遇到程序集成邮件发送功能.接收功能:此篇文章我将使用SpringBoot集成邮件发送功能和接收功能:若对邮件一些基本协议和发送流程不懂的请务必参考我之前写的博客或者浏览 ...

  9. 【springBoot】springBoot集成redis的key,value序列化的相关问题

    使用的是maven工程 springBoot集成redis默认使用的是注解,在官方文档中只需要2步; 1.在pom文件中引入即可 <dependency> <groupId>o ...

随机推荐

  1. ubuntu搜狗拼音安装

    1.官方下载deb 2.双击安装 3.终端im-config,选择fcitx 4.重启 5.输入法设置中add一下sougoupinyin

  2. Android App 启动 Activity 创建解析

    继承实现类关系: ActivityThread  thread = new ActivityThread(); Context->ContextImpl   ContextImpl contex ...

  3. Struts2页面遍历

    <s:iterator />可以遍历 数据栈里面的任何数组,集合等等 在使用这个标签的时候有三个属性值得我们关注      1. value属性:可选的属性,value属性是指一个被迭代的 ...

  4. bzoj4670: 佛罗里达

    这题直接随机化+贪心就可以爆踩过去,我加了个退火增加容错率而已....其实你随机的次数够多根本不需要... 然后来自肉丝哥哥的正经做法: 先钦定D(A)>D(B),那么可以枚举D(A),然后再去 ...

  5. tensorflow sigmoid_cross_entropy_with_logits 函数解释

    tf.nn.sigmoid_cross_entropy_with_logits(_sentinel=None,labels=None, logits=None, name=None) sigmoid_ ...

  6. CISCO-从TFTP上上传/下载配置文件

    1.下载配置文件到TFTP服务器: 2.上传配置文件到路由器

  7. 记一次关于return的错误

     有时候瞎JB程序,调一天东改西改,都发现不了错:到最后弄出来发现就是那样一个SB错误,真不知道该笑还是该哭. 这个if语句中的return,如果加了那么判断了if语句成立后,下面就不再执行了.   ...

  8. Swift引用计数器

    ARC概述 和4.2+版本的Xcode对OC的支持一样,Swift也是使用ARC来管理内存,文档是这么描述的: Swift uses Automatic Reference Counting(ARC) ...

  9. HDU2087(KMP入门题)

    剪花布条 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  10. initWithFrame 与 initWithCoder 、awakeFromNib 的方法理解笔记

    1. initWithFrame方法是什么? initWithFrame方法用来初始化并返回一个新的视图对象,根据指定的CGRect(尺寸). 当然,其他UI对象,也有initWithFrame方法, ...