java mail 包说明

原创

已于 2022-06-18 11:22:53 修改

·

7.3k 阅读

·

4

·

3

·

CC 4.0 BY-SA版权

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

文章标签:

#java

#mail

#说明

于 2022-06-18 10:43:20 首次发布

程序日志

专栏收录该内容

35 篇文章

订阅专栏

本文探讨了javax.mail与jakarta.mail-api的历史版本,SpringMail的角色,以及如何在不同版本间切换。重点介绍了Spring Boot邮件配置和Sun提供的实现包版本更新。

摘要生成于

C知道

,由 DeepSeek-R1 满血版支持,

前往体验 >

javax mail api

该包只有接口,没有实现类,不能单独运行。

maven仓库坐标及版本:

javax.mail

javax.mail-api

1.6.2

1.4.4-1.4.7,1.5.0-1.5.6,1.6.0-1.6.2:为老版本mail api,已经过时停止。

jakarta mail api

该包只有接口,没有实现类,不能单独运行。

maven仓库坐标及版本:

jakarta.mail

jakarta.mail-api

2.1.0

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仓库坐标及版本:

com.sun.mail

javax.mail

1.6.2

版本为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仓库坐标及版本:

com.sun.mail

jakarta.mail

2.0.1

版本为2.0.0,2.0.1,与jakarta.mail-api的版本一一对应。

目前暂时未发布2.1.0的版本,也就是说2.1.0版本的jakarta.mail-api,暂时没有对应的实现包。