104 Star 1.6K Fork 418

dromara / SMS4J

 / 详情

[Bug]: 发送邮件的时候 报错:java.lang.ArrayStoreException

待办的
创建于  
2024-01-25 21:21

这个问题是否已经存在?

如何复现

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

截图或视频

[在这里上传图片]
输入图片说明

JDK 版本

JDK17

SMS4J 版本

3.1.0

评论 (0)

yang 创建了任务
yang 添加了
 
bug
标签
yang 修改了标题
yang 修改了描述
展开全部操作日志

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(1)
Java
1
https://gitee.com/dromara/sms4j.git
git@gitee.com:dromara/sms4j.git
dromara
sms4j
SMS4J

搜索帮助