javamail例外:javax.mail.MessagingException:文件夹未使用SocketChannels

问题描述 投票:0回答:1

当我使用空闲管理器时,出现此异常。因为我已经看过这个答案[Exception in thread "main" javax.mail.MessagingException: Folder is not using SocketChannels

我尝试过

properties.setProperty(“ mail.imap.usesocketchannels”,“ true”);

但是它不适用于我的代码,并且仍然出现此异常。

Properties properties = new Properties();
    properties.put("mail.imap.host", mailReceiveServer);
    properties.put("mail.imap.auth", validate ? "true" : "false");
    properties.put("mail.imap.port", mailReceivePort);
    properties.put("mail.imap.ssl.enable", "true");
    properties.put("mail.imap.partialfetch", false);
    properties.put("mail.event.scope", "session");

    properties.put("mail.imap.ssl.checkserveridentity", "false");
    properties.put("mail.imap.ssl.trust", "*");
    properties.put("mail.store.protocol", "imap");
    properties.put("mail.event.executor", es);
    properties.setProperty("mail.imap.usesocketchannels", "true");    

我的财产有问题吗?

android exception javamail
1个回答
1
投票

这似乎与Issue 403- Android SocketChannel workaround not working around有关。

默认情况下,安全套接字的Android实现不会返回套接字通道。 JavaMail的早期版本使用反射来访问套接字并创建通道。后来,Android更新为使用Conscrypt提供SSL套接字。它也不会返回套接字通道,但是,现有的JavaMail解决方法不起作用,因为包装的套接字位于JavaMail所不希望的更深的子类中。

应用于JakartaMail 2.0.0 / Jakarta EE 9的修复程序应纠正您所遇到的问题。

© www.soinside.com 2019 - 2024. All rights reserved.