1、BUG出现环境:SpringCloud项目中SpringBoot3模块、JDK17
2、SMS4J版本:3.1.0、3.1.1都试了 用的是sms4j-email-jakarta-core
3、BUG出现位置:调用发送邮件方法 mailClient.send(message) 的时候
4、示例代码
void sendEmail() {
MailSmtpConfig config = MailSmtpConfig.builder()
.fromAddress("xxx@email.com")
.smtpServer("smtp.email.com")
.port("25")
.username("xxx@email.com")
.password("xxxxx")
.isSSL("false")
.build();
log.info("config:{}", config);
MailFactory.put("email", config);
MailClient mailClient = MailFactory.createMailClient("email");
MailMessage message = MailMessage.Builder()
.mailAddress ("xx@email.com")
.title("测试标题")
.body("测试邮件发送")
.build();
mailClient.send(message);
}
5、我用单独的SpringBoot3+JDK17测试了 没这个问题。显示发送成功但是没收到邮件……
java.lang.ArrayStoreException: arraycopy: element type mismatch: can not cast one of the elements of java.lang.Object[] to the type of the destination array, jakarta.activation.MailcapRegistry>
at java.base/java.lang.System.arraycopy(Native Method)
at java.base/java.util.ArrayList.toArray(ArrayList.java:401)
at jakarta.activation.MailcapCommandMap.(MailcapCommandMap.java:181)
at jakarta.activation.CommandMap.getDefaultCommandMap(CommandMap.java:60)
at jakarta.activation.DataHandler.getCommandMap(DataHandler.java:128)
at jakarta.activation.DataHandler.getDataContentHandler(DataHandler.java:590)
at jakarta.activation.DataHandler.writeTo(DataHandler.java:290)
at jakarta.mail.internet.MimeUtility.getEncoding(MimeUtility.java:316)
at jakarta.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1580)
at jakarta.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1177)
at jakarta.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:510)
at jakarta.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1538)
at jakarta.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2265)
at jakarta.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2225)
at jakarta.mail.Transport.send(Transport.java:99)
at org.dromara.email.jakarta.core.service.MailService.send(MailService.java:111)
at org.dromara.email.jakarta.core.service.MailService.send(MailService.java:57)
发生了bug
[在这里上传图片]
JDK17
3.1.0