发送邮件的几种方式

文章介绍了JavaMail和JakartaMail两种发送邮件的方式,包括它们的使用、依赖和版本差异。推荐使用JakartaMail,因为它包含了javax.activation依赖,并指出SpringBoot集成邮件发送底层使用JakartaMail。javax.JavaMail的最后版本是2018年,因此建议使用更新的JakartaMail进行邮件发送。
摘要由CSDN通过智能技术生成

发送邮件的几种方式

JavaMail 具体使用说明参考Oracle官网给出的API:链接地址

Jakarta Mail 具体使用说明参考Jakarta官方给出的API:链接地址

1:javax.*
    也是java标准的一部分,但是没有包含在标准库中,一般属于标准库的扩展。通常属于某个特定领域,不是一般性的api。
    所以以扩展的方式提供api,以避免jdk的标准库过大。当然某些早期的javax,后来被并入到标准库中,所有也应该属于新版本JDK的标准库。
    比如jmx,java5以前是以扩展方式提供,但是jdk5以后就做为标准库的一部分了,所有javax.management也是jdk5的标准库的一部分。
2:com.sun.*
    是sun的hotspot虚拟机中java.* 和javax.*的实现类。因为包含在rt中,所以我们也可以调用。但是因为不是sun对外公开承诺的接口,
    所以根据根据实现的需要随时增减,因此在不同版本的hotspot中可能是不同的,而且在其他的jdk实现中是没有的,调用这些类,
   可能不会向后兼容,一般不推荐使用

下面介绍的发送邮件的几种方式:
    ①:使用javax.mail的坐标依赖包(导包时看清楚是不是javax.mail的)
        <!--JavaMail基本包-->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>
        <!--邮件发送的扩展包-->
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
        注:坐标必须为两个,因为javax.mail没有携带依赖包javax.activation(发送)
    ②:使用com.sun.mail的坐标依赖包(不推荐使用,这里我没讲了,下面是它的坐标,坐标内携带javax.activation依赖)
        <!-- https://mvnrepository.com/artifact/com.sun.mail/javax.mail -->
        <!--使用Sun提供的Email工具包-->
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <version>1.6.2</version>
        </dependency>
    ③:使用Jakarta Mail发送邮件(和javax.mail使用方式基本一样,不过它内部携带了javax.activation依赖包)
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>jakarta.mail</artifactId>
            <version>1.6.7</version>
        </dependency>
  ③:使用SpringBoot集成邮件发送
    注:SpringBoot集成邮件发送底层使用Jakarta Mail技术

注:javax.JavaMail最后一个版本发布于2018年8月,后期发送邮件最好使用Jakarta Mail(它是javaMail的前身);

总结:不借助SpringBoot的情况下使用 javax.JavaMail 或 Jakarta Mail 方式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值