javamail发送html_SpringBoot入门建站全系列(十)邮件发送功能

news/2024/5/10 1:05:43/文章来源:https://blog.csdn.net/weixin_39553423/article/details/110615522

74d1e7a79deb1b3830f8711674805837.png

SpringBoot入门建站全系列(十)邮件发送功能

Spring Mail API都在org.springframework.mail及其子包org.springframework.mail.javamail中封装。

JavaMailSenderImpl: 邮件发送器,主要提供了邮件发送接口、透明创建Java Mail的MimeMessage、及邮件发送的配置(如:host/port/username/password...)。 MimeMailMessage、MimeMessageHelper:对MimeMessage进行了封装。Spring还提供了一个回调接口MimeMessagePreparator, 用于准备JavaMail的MIME信件.

SpringBoot对Email做了封装:https://docs.spring.io/spring-boot/docs/2.0.9.RELEASE/reference/htmlsingle/#boot-features-email

直接读取配置,然后我们的Service逻辑可以直接注入JavaMailSender进行邮件发送。

项目地址: 品茗IT-同步发布

品茗IT 提供在线支持:

一键快速构建Spring项目工具

一键快速构建SpringBoot项目工具

一键快速构建SpringCloud项目工具

一站式Springboot项目生成

Mysql一键生成Mybatis注解Mapper

如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。

一、配置

本文假设你已经引入spring-boot-starter-web。已经是个SpringBoot项目了,如果不会搭建,可以打开这篇文章看一看《SpringBoot入门建站全系列(一)项目建立》。

1.1 Maven依赖

<dependency>

配置fastjson是因为我写的示例中用到了,用不到的话就可以去掉。

1.2 配置文件

application.properties 中需要添加下面的配置:

spring.mail.host=smtp.qq.com
spring.mail.username=916881512@qq.com
spring.mail.password=xxxxx
spring.mail.port=465
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.mail.smtp.starttls.required=true mail.from=916881512@qq.com
mail.fromName=Admin

这里,

  • spring.mail.properties是额外的配置信息。
  • spring.mail.port这个很重要,我用的是465,是smtp的ssl端口,smtp一般是用25端口,但是很多云服务器把25端口禁用了,美其名曰安全。所以可以用465端口也发送邮件。如果想用25端口,后面的spring.mail.properties.*去掉即可。
  • mail.from和mail.fromName是业务逻辑需要的配置,不是SpringBoot自动装配的。
  • 其他配置文件都是见文知意了,不再说了。

SpringBoot官网配置文件说明:

# Email (MailProperties)
spring.mail.default-encoding=UTF-8 # Default MimeMessage encoding.
spring.mail.host= # SMTP server host. For instance, `smtp.example.com`.
spring.mail.jndi-name= # Session JNDI name. When set, takes precedence over other Session settings.
spring.mail.password= # Login password of the SMTP server.
spring.mail.port= # SMTP server port.
spring.mail.properties.*= # Additional JavaMail Session properties.
spring.mail.protocol=smtp # Protocol used by the SMTP server.
spring.mail.test-connection=false # Whether to test that the mail server is available on startup.
spring.mail.username= # Login user of the SMTP server.

二、发送邮件业务逻辑

发送邮件时,需要指明发送人邮箱和名称。

package 

这里的MailService定义了多种邮件发送方式,包含普通文本、html、内嵌图片、附件、表格等。因此需要我们定义多种实体。

三、测试

新建一个MailRest,用来测试邮件发送:

package 

四、过程中用到的邮件类型实体

MailMessage邮件实体:

package 

MailType邮件类型接口:

package 

详细完整的邮件类型,可以访问品茗IT-博客《SpringBoot入门建站全系列(十)邮件发送功能》进行查看

快速构建项目

Spring组件化构建

SpringBoot组件化构建

SpringCloud服务化构建

喜欢这篇文章么,喜欢就加入我们一起讨论SpringBoot技术吧!

82acd45947ead90bc5000caf49c5b164.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_754042.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

访问调用https_(二)http协议的网站装ssl升级成https

最终目标&#xff1a;微信小程序要想上线 必须内部所有域名都是https&#xff0c;比如网络图片&#xff0c;比如后端接口&#xff0c;比如其他链接。问&#xff1a;既然https://minihome.top/能直接访问了&#xff0c;那我用eggjs(node)写的后端接口是不是就可以正常访问了&…

推荐几个很好很好用的网站

1. MSDN 这是非官方性质的微软网站&#xff0c;但是它无广告&#xff0c;提供了很多的微软资源&#xff0c;却是相当的良心。如果要安装操作系统、office、VS、Visio等都可以从这个网站上进行下载。 2. 高清图片 该网站提供很多高清壁纸&#xff0c;风格清新&#xff0c;艺术风…

大型网站架构技术一览

大型网站的挑战主要来自庞大的用户&#xff0c;高并发的访问和海量数据&#xff0c;任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户&#xff0c;问题就会变得棘手。大型网站架构主要就是解决这类问题。 本文内容大部分来自《大型网站技术架构》,这本书很值得一…

大型网站架构演化历程

摘自《大型网站技术架构》&#xff1a;第一章 大型网站架构演化 目录 一、大型网站系统的特点 二、 大型网站架构演化发展历程 1. 初始阶段的网站架构 2. 应用服务和数据服务分离 3. 使用缓存改善网站性能 4. 使用应用服务器集群改善网站的并发处理能力 5. 数据库读写分离 6. 使…

珍藏30年的网站都在这了,自媒体运营必不可少

目录 01办公协作 02 图库 03新媒体相关 04 APP相关 05 小程序相关 06 H5制作 06 二维码 07 问卷 08 gif 09 大数据 10 SasS类平台 11 KOL采购及广告投放 12活动会议 13 长短连接 14 搜索工具 15 思维导图 16 图片处理 17 识图工具 18 表情包 01办公…

HMDB网站 爬取工具

HDMB网站有一个特别不友好的地方是&#xff1a; 搜索相应太慢&#xff0c;成功率还低&#xff0c;这个简直太不爽了。不过白天体验明显好于晚上体验…原因自己品吧 效果图工具使用部分效果 根据HMDBID下载结果 设置搜索条件搜索结果 解析成Excel文件 接受定制任务

网站、数据库的衍变之路(三)

话接前文《网站、数据库的衍变之路(二)》。上文讲了几种静态化方案的利弊&#xff0c;有朋友要讲详细一点&#xff0c;呵呵&#xff0c;这不属于本文的范畴。也有朋友说有些网站不适合搞静态化&#xff0c;是有这种情况。但是在这个时期&#xff0c;网站还处于刚发展的起始阶段…

Java SpringMVC 支付宝-手机网站支付接口

首先就是申请支付宝第三方接口&#xff0c;获取到APPID&#xff0c;应用发布前也可以用支付宝的沙箱环境&#xff0c;服务器要开启外网访问权限&#xff0c;因为支付宝需要返回异步通知(notify_url)和同步通知&#xff08;return_url&#xff09; 如果想学习Java工程化、高性能…

JAVA WEB快速编写一个JSP WEB网站了解网站的基本结构 调试 部署

一、使用eclipse初始化一个JSP WEB项目(即&#xff1a;动态WEB项目)&#xff0c;步骤如下&#xff1a; 如上图示注意选择TOMCAT版本 如上图示勾选生成web.xml&#xff0c;当然如果不勾选也行&#xff0c;但后续如果有需要用到配置的地方就需要再单独添加&#xff0c;故这里我选…

我穿越到1994年,终于发现80%的网站都用PHP的原因!

见字如面&#xff0c;我是军哥&#xff01;昨天晚上写代码到深夜&#xff0c;一头扎到床上&#xff0c;沉沉睡去。第二天睁开眼睛&#xff0c;我发现自己居然坐在一个咖啡馆里&#xff0c;旁边的墙上贴着最新的英文电影海报《阿甘正传》、《肖申克的救赎》这都是1994年的经典电…

Java程序员进阶笔记实操—大型网站架构技术之负载均衡详解(3)

欢迎关注专栏&#xff1a;Java架构技术进阶。里面有大量batj面试题集锦&#xff0c;还有各种技术分享&#xff0c;如有好文章也欢迎投稿哦。 上一篇&#xff1a;Java程序员进阶笔记实操—大型网站架构技术之负载均衡详解&#xff08;2&#xff09; 本次分享大纲 软件负载均衡概…

使用SEP实现:禁止访问特定的网站

利用SEP自带的防火墙可以禁止客户所需要禁止的网站。具体操作如下&#xff1a; 1、点击【Policies】选【Firewall】&#xff0c;在右边右击&#xff0c;选择【Add】。 2、选择【Rules】&#xff0c;可以再【Policy name】里更改名字&#xff0c;便于识别。 3、选择【Add Rule】…

允许网站使用相机和麦克风_新一代网红神器 佳能G7 X Mark III相机评测

1英寸卡片机向来是很多玩家首选的随身摄影器材。一方面&#xff0c;1英寸传感器相较手机等常规装备而言具备更高的成像水准&#xff1b;另一方面&#xff0c;“小巧机身大光圈变焦镜头”的配置不仅带来了出色的便携性&#xff0c;同时还能满足各种复杂的拍摄需求&#xff0c;实…

怎么arm数据上传到云服务器_纵横数据:在日本服务器上搭建外贸网站怎么样?...

​​现在外贸建站赚取外汇已经成为不少企业的收入来源&#xff0c;而对于外贸网站的搭建&#xff0c;不少企业或者网站开发者都会选择使用wordpress程序&#xff0c;而且近几年采用wordpress搭建外贸用户的增长一直都比较快。那么使用wordpress搭建外贸网站有什么好处&#xff…

Magento网站迁移指南

上周五&#xff0c;为MKT同事迁移了一个从本机到GODADDY的MAGENTO系统。 中间出了不少状况&#xff0c; 现在写个迁移纲要&#xff1a; ~~~~~~~~~~~~~~~~ 1&#xff0c;网页和数据库文件上传&#xff0c;最好采用压缩方式&#xff0c;节约网络流量和布置时间。 2&#xff0c;如…

网站php.ini在哪,php.ini在哪

最近在centos中安装lamp环境&#xff0c;发现装完php之后&#xff0c;没有php.ini文件&#xff0c;那么php.ini在哪呢&#xff1f;正常情况下php.ini文件是在php的安装目录下的lib目录里&#xff0c;比如我的php安装目录在/usr/local/php/中,而我进到/usr/local/php/lib目录中却…

总用这个网站把ppt,doc转成PDF,还挺好用,记一下

2019独角兽企业重金招聘Python工程师标准>>> http://www.freepdfconvert.com/ 转载于:https://my.oschina.net/ahuaahua/blog/132714

10个帮程序员和站长减压放松的良心网站!

2019独角兽企业重金招聘Python工程师标准>>> 1. Calm 这是同类型中最火的网站了&#xff0c;站如其名&#xff0c;「平和」&#xff0c;通过自然的图像&#xff08;阳光下的暖流、淙淙的小溪等&#xff09;与缓缓的音乐&#xff0c;帮你在短时间内放松下来。 左侧有…

php网站栏目隐藏,phpcms 首页需要隐藏栏目的代码

找到首页模板搜索{php $num}在其后面增加代码即可{php if($r[ismenu]!1) continue;}完成代码如下{loop subcat(0,0,0,$siteid) $r}{php $num}{php if($r[ismenu]!1) continue;}{$r[catname]}更多>>{pc:content action"lists" catid"$r[catid]" order…

ie连接服务器被系统禁止,防止IE被流氓网站乱改

随着互联网的普及和网民队伍的壮大&#xff0c;网络也变的越来不安全。病毒、木马日益侵蚀着我们的网络&#xff0c;让我们感到网络上到处都存在着危险。尽管FireFox、Maxthon等的浏览器以其独特的功能和安全性被越来越多的用户接受&#xff0c;但是IE仍然是浏览器中的“老大”…