php 邮件发送是html 没样式_「快学springboot」使用springboot实现发送邮件功能

news/2024/7/24 2:40:05 标签: php 邮件发送是html 没样式

前言

在实际项目中,经常需要用到邮件通知功能。比如,用户通过邮件注册,通过邮件找回密码等;又比如通过邮件发送系统情况,通过邮件发送报表信息等等,实际应用场景很多。这篇文章,就教大家通过springboot快速的实现一个发送邮件的功能。

引入依赖

在springboot项目中,引入如下依赖:

org.springframework.boot spring-boot-starter-mail

配置文件

在springboot项目中引入依赖之后,即可在其配置文件中配置邮箱的参数:

application.properties

de2b22ee47256043a89b6f27cf804da3.png

不同的邮箱,host的配置不一样。如果是其它邮箱,搜索下即可找到。

username为邮箱账号,password为邮箱的授权码(不是密码,需要在邮箱的设置页面中开启smtp)。

注入JavaMailSender实例

邮箱参数配置完之后,即可直接注入JavaMailSender实例。

@Autowiredprivate JavaMailSender javaMailSender;

发送普通邮件

普通邮件,没有样式。实现起来最容易:

@Testpublic void testSend() throws MessagingException { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom("发送者邮箱地址"); message.setTo("接受者邮箱地址"); message.setSubject("这是标题"); message.setText("这是内容"); javaMailSender.send(message);}

From需要和配置文件中的username一致,否则会报错。

To为邮件接收者;

Subject为邮件的标题;

Text为邮件的内容。

运行方法,即可收到邮件:

07cd4f9afa2008e6aefdc4a121d968d4.png

发送HTML邮件

很多时候,我们需要邮件带有美观的样式。这时候,可以使用HTML的样式。我们需要使用javaMailSender的createMimeMessage方法,构建一个MimeMessage,然后使用MimeMessage实例创建出MimeMessageHelper。如下:

@Testpublic void testSend() throws MessagingException { MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage); messageHelper.setSubject("标题"); messageHelper.setFrom("发送者邮箱地址"); messageHelper.setTo("接受者邮箱地址"); messageHelper.setText("

标题

这是内容


http://www.niftyadmin.cn/n/763841.html

相关文章

vue动态添加数组归类

昨天在写完项目之后出现一个bug,我想简单了,我以为直接把数据传过去就行,谁知道还需要归类数据,把数据整合起来,这个是动态的整合起来。格式是这样子的 [{name: 123,children: []}]children数组里面放的是name底下的种…

java 判断对象是否为空_java虚拟机——对象存活判断与垃圾回收算法

Java识堂,一个高原创,高收藏,有干货的微信公众号,一起成长,一起进步,欢迎关注本文主要教书在java虚拟机垃圾回收机制中,如何判断对象是否存活和图解垃圾回收算法。一、概述对于java程序员来说&a…

ant design vue table栏getCheckboxProps的使用

今天业务有一个需求,从一个页面跳到另一个页面的时候,需要把以前选择的table的数据带上,然后展示出来,这可难倒我了,研究好长时间,在网上搜一堆,看个大概然后还是决定自己写一下,毕竟…

python长宽表转换_深入Python数据分析:宽表如何重构为长表

先来了解Pandas封装的顶层函数部分,其一:melt()函数,它位于Pandas包的最顶层,结构如下:Pandas|melt()melt()函数的原型如下:frame为list型参数,后面都为position型参数。前者为通常意义的*args,…

带有key和value的数组去重

当我们遇到这样的数组 [1, 2, 3, 4, 4, 3, 2, 1];可以用set方法,也可以用foreach然后用indexOf的特性来去重。 但是当我们遇到这样的数组 var arr [{a:1, b:2, c:3},{a:1, b:3, c:4},{a:1, b:7, c:8}];那需要怎么去重呢 那就需要map配合findIndex了 arr.map((it…

java字符串转化为数组_数百万浏览量的问题:如何比较Java的字符串?为你解答

大家好,这里是云析学院,专门为大家解答各种Java问题,为全国互联网公司提供一流的技术人才!今天来给大家讲解一个问题:如何比较 Java 的字符串?这一个问题的访问量足足有300万,这说明有很多很多的…

js 删除字符串中指定的一些字符

比如有一些字符串 1213,,2312,,13123r,阿瓦达无,undefined,undefined 如果想删除这些undefined的字符串那需要怎么 办呢 代码 var a 1, 2, 3, 4, 5, 23, undefined, undefined; // 后面加g是删除字符串里面所有的und…

python入门之运算符的使用第一关_03 . Python入门之运算符

一、什么是运算符?举个简单的例子** 4 5 9 。 例子中,4** 和 5 被称为操作数,"" 称为运算符。Python语言支持以下类型的运算符:[算术运算符][比较(关系)运算符][赋值运算符][逻辑运算符][位运算符][成员运算符][身份运算符][运算符…