java mail 包说明
原创
已于 2022-06-18 11:22:53 修改
·
7.3k 阅读
·
4
·
3
·
CC 4.0 BY-SA版权
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
文章标签:
#java
#说明
于 2022-06-18 10:43:20 首次发布
程序日志
专栏收录该内容
35 篇文章
订阅专栏
本文探讨了javax.mail与jakarta.mail-api的历史版本,SpringMail的角色,以及如何在不同版本间切换。重点介绍了Spring Boot邮件配置和Sun提供的实现包版本更新。
摘要生成于
C知道
,由 DeepSeek-R1 满血版支持,
前往体验 >
javax mail api
该包只有接口,没有实现类,不能单独运行。
maven仓库坐标及版本:
1.4.4-1.4.7,1.5.0-1.5.6,1.6.0-1.6.2:为老版本mail api,已经过时停止。
jakarta mail api
该包只有接口,没有实现类,不能单独运行。
maven仓库坐标及版本:
1.6.3-1.6.7版本:与javax.mail-api一样,包结构未变化,只是包名称和坐标发生了变化。已经过时停。版本2.0.0,2.0.1,2.1.0:包名由javax.mail变化为了jakarta.mail,为现在的主流版本。其中2.1.0版本的最低jdk要求为11
注意,因包名变化,jakarta mail api 1.6.X版本与2.X+版本不兼容。
spring mail
spring mail为javax.mail的实现,其代码位于spring-context-support包中。
截止到目前为止(5.3.21版本)spring mail都是实现的javax.mail包的api,没有实现jakarta.mail包中的api。单独使用时,需要引入javax.mail-api包(或jakarta.mail-api的1.6.X版本)
spring-boot-starter-mail也是使用的spring-context-support发送邮件。自动依赖了javax.mail api包。
sun javax mail
该包为javax.mail-api的实现包,jar包内部包含了javax.mail-api的所有类,因此直接引用此实现包时,可以不需要单独引入javax.mail-api包,当前已过时停止
maven仓库坐标及版本:
版本为1.4.4-1.4.7,1.5.0-1.5.6,1.6.0-1.6.2,与javax.mail-api的版本一一对应。
sun jakarta mail
该包为jakarta mail api的实现包,jar包内部包含了jakarta.mail-api的所有类,因此直接引用此实现包时,可以不需要单独引入jakarta.mail-api包。为现在的主流版本。
maven仓库坐标及版本:
版本为2.0.0,2.0.1,与jakarta.mail-api的版本一一对应。
目前暂时未发布2.1.0的版本,也就是说2.1.0版本的jakarta.mail-api,暂时没有对应的实现包。