Java SendEmail jdk20

文章讲述了在使用廖雪峰老师的sendEmail教程时遇到的javax.activation和javax.mail包导入问题。由于Java9以后不再默认包含这些API,需要引入activation.jar以及jakarta的相关依赖。作者在尝试替换为jakarta包后遇到了新的错误,最终通过添加angus-activation和angus-mail的依赖解决了问题,并提供了相关的Maven依赖配置。
摘要由CSDN通过智能技术生成

博主在看廖雪峰老师的sendEmail章节时,发现javax包导入有问题

问题一

javax.activation.DataHandler and javax.mail.internet.MimeMultipart

然后查了一下大概意思javax是易主了,且jdk9后对api不继续默认接入了,需要加入activation.jar,

JDK 9 disables access to many of the javax.* APIs by default, javax activation is now deprecated.

于是我又更换成jakarta包,然后又报错了

问题二

jakarta.activation.spi.MailcapRegistryProvider cannot be found

于是博主添加了avtivation.jar包 后发现又报错了查了一下 需要添加 angus-activation-1.1.0.jar和angus-mail-1.1.0.jar

加了这两个依赖就可以成功运行了。 此外有一点要注意的是,password是邮箱的激活码不是密码,具体怎么得到可以百度。

把maven依赖贴在下面,大家可以直接复制。

    <!-- https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api -->
    <dependency>
      <groupId>jakarta.servlet</groupId>
      <artifactId>jakarta.servlet-api</artifactId>
      <version>6.0.0</version>
      <scope>provided</scope>
    </dependency>
	<!-- https://mvnrepository.com/artifact/jakarta.activation/jakarta.activation-api -->
    <dependency>
      <groupId>jakarta.activation</groupId>
      <artifactId>jakarta.activation-api</artifactId>
      <version>2.1.0</version>
    </dependency>
	<!-- https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail -->
	<dependency>
      <groupId>com.sun.mail</groupId>
      <artifactId>jakarta.mail</artifactId>
      <version>2.0.1</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.eclipse.angus/angus-mail -->
	<dependency>
      <groupId>org.eclipse.angus</groupId>
      <artifactId>angus-mail</artifactId>
      <version>2.0.1</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.eclipse.angus/angus-activation -->
	<dependency>
      <groupId>org.eclipse.angus</groupId>
      <artifactId>angus-activation</artifactId>
      <version>2.0.1</version>
	</dependency>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值