Spring Boot发送邮件_springboot 发送outlook邮件_王耳总丶的博客-程序员宝宝

技术标签: 发送邮件  spring boot  聪酱带你学Spring Boot  

发送邮件

在web开发中,发送邮件是一个很常用的功能,Spring Boot也集成了发送邮件的功能

基本使用

使用Spring Boot的发送邮件功能,需要导入邮件的starter依赖

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

配置邮件发送服务器的配置,如果是qq邮箱,password属性为邮箱的授权码

spring:
  mail:
    host: smtp.qq.com
    username: [email protected]
    password: xxxxxxxx
    properties:
      mail.smtp.ssl.enable: true

创建一个简单邮件对象SimpleMailMessage,设置邮件的主题,内容,发件人和收件人,然后自动注入JavaMailSenderImpl对象,使用这个对象的send方法发送邮件

@SpringBootTest
class DemoApplicationTests {
    

    @Autowired
    JavaMailSenderImpl mailSender;

    @Test
    void contextLoads() {
    
        SimpleMailMessage message = new SimpleMailMessage();
        message.setSubject("测试邮件");
        message.setText("这是一封测试邮件");
        message.setTo("[email protected]");
        message.setFrom("[email protected]");
        mailSender.send(message);
    }

}

这样就可以发送简单邮件了

在这里插入图片描述

发送复杂邮件

发送复杂邮件,可以使用发送类的createMimeMessage方法创建一个复杂邮件对象MimeMessage,这个方法还有一个重载方法,可以读取IO流创建邮件对象

创建一个用于设置邮件的对象MimeMessageHelper,这个对象可以设置多种邮件的常用属性,这里以设置附件为例

@SpringBootTest
class DemoApplicationTests {
    

    @Autowired
    JavaMailSenderImpl mailSender;

    @Test
    void contextLoads() throws MessagingException {
    
        MimeMessage message = mailSender.createMimeMessage();
        MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8");
        messageHelper.setSubject("测试复杂邮件");
      	// 设置带样式的正文,使用html的方式设置样式
        messageHelper.setText("<h1>这是一封测试邮件</h1><p style='color:red'>请查收附件</p>",true);
      	// 读取本地的一个文件,设置邮件的附件
        messageHelper.addAttachment("附件1.jpg",new File("1.png"));
        messageHelper.addAttachment("附件2.jpg",new File("2.png"));
        messageHelper.setTo("[email protected]");
        messageHelper.setFrom("[email protected]");
        mailSender.send(message);
    }

}

设置好邮件的属性,然后用发送类发送邮件,就可以收到复杂邮件

在这里插入图片描述

邮件中的附件也可以打开

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/blackball1998/article/details/118163454

智能推荐

javascript将base64编码的图片数据转换为file并提交_张虹旺的博客-程序员宝宝

/** * @param base64Codes * 图片的base64编码 */function sumitImageFile(base64Codes){ var form=document.forms[0]; var formData = new FormData(form); //这里连带form里的其他参数也一起提交了,如果不需要

Linux安装JDK_yanguo110的博客-程序员宝宝

原文转载:http://www.linuxidc.com/Linux/2016-09/134941.htm方法一:手动解压JDK的压缩包,然后设置环境变量1.在/usr/目录下创建java目录[[email protected] ~]# mkdir/usr/java[[email protected] ~]# cd /usr/java2.下载jdk,然后解压[[email protected]

NPOI 导出Excel表报错_weixin_30687051的博客-程序员宝宝

当导出2007格式的时候,打开文件总是报错“发现 xxx中的部分内容有问题。是否让我们尽量尝试恢复?”。导出的程序:protected void btnValidateInternalData_Click(object sender, EventArgs e) { if (!FileUploadEmployee.HasFile) ...

sqldevelop 连接mysql_Ubuntu下的sqldeveloper增加MySQL连接_炎火鱼的博客-程序员宝宝

Windows下的数据库可视化工具比较广泛,而一旦到了Linux下,虽说桌面可视化不再是关键,但有时诸如数据库之类的图表,有一个可视化工具还是大有裨益的,而这种工具不多,Oracle的sqldeveloper还不错,但如果要连接Oracle之外的数据库则需要安装一定的插件:一、连接到Ms SQL Server数据库1.首先要到 http://sourceforge.net 下载 net.sourc...

mybatis-generator-core生成代码_dc1215225的博客-程序员宝宝

mybatis-generator-core-1.3.3下载地址:http://blog.mybatis.org/p/products.html下载后名解压,进入lib目录修改一个GeneratorConfig.xml文件:&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;!DOCTYPE generatorConfigu...

随便推点

SpringMVC----POST请求的数据解析_一个坏小孩的博客-程序员宝宝

## 一、POST请求的四种常用方式1、application/x-www-form-urlencoded浏览器原生的表单,值为urlencoded之后的 key1=value1&amp;key2=value2......2、multipart/form-data 浏览器原生的文件表单,用于传输文件3、application/json常用的请求头格式,值为json串 {“key...

Win10 按住 Shift 右键以管理员方式打开CMD_windows10长按shift_笑虾的博客-程序员宝宝

将如下内容,复制到文本文件中,改扩展名为:.reg双击执行,导入注册表即可。Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]@="在此处打开命令提示符(管理员)""Icon"="cmd.exe""Extended"=""[HKEY_CLASSES_ROO...

1 数列分块入门_[Loj] 数列分块入门 1 - 9_weixin_39683368的博客-程序员宝宝

数列分块入门 1区间加 + 单点查询#include #include#includeusing namespacestd;const int N = 5e4 + 10;#define gc getchar()inlineintread() {int x = 0; char c =gc;while(c &lt; '0' || c &gt; '9') c =gc;while(c &gt;= '0' ...

jQuery3.5.1版本下载与线上引用_线上jquery_小苗吃不够的博客-程序员宝宝

jQuery3.5.1版本下载与线上引用JQ3.5.1下载地址:http://www.jq22.com/jquery/jquery-3.5.1.zip线上引用地址:微软:&lt;script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.5.1.min.js"&gt;&lt;/script&gt;官网:&lt;script src="https://code.jquery.com/jquery-3.5.1.min.js"&gt;&lt;/s

苹果雪豹版本10.6.X安装xcode 4.2 提示安装失败的解决方法_didi4find的博客-程序员宝宝

苹果雪豹版本10.6.X安装xcode 4.2 提示安装失败的解决方法原来地址:http://www.pcbeta.com/forum.php?mod=viewthread&tid=1005917。从iAntares_v3.2(10.6.5)升级到10.6.8后, 安装XCODE (xcode_4.2_and_ios_5_sdk_5_for_snowleopard.dmg) 时发生

FDDI_加油11的博客-程序员宝宝

1 FDDI基本概念光纤分布数据接口FDDI(Fiber Distributed Data Interface)是一种将计算网络和广电技术结合而发展起来的网络接口技术主要部件 光纤光缆FDDI适配器FDDI适配器与光纤相连的连接器2 FDDI特点以光纤作为传输介质的高速主干网基于共享介质原理,是令牌环体系结构的拓展使用基于IEEE 802.5的单令牌的环型网介质访问协议数据传输速

推荐文章

热门文章

相关标签