Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java邮件api,在消息处理过程中连接丢失_Java_Email_Jakarta Mail_Message_Pop3 - Fatal编程技术网

Java邮件api,在消息处理过程中连接丢失

Java邮件api,在消息处理过程中连接丢失,java,email,jakarta-mail,message,pop3,Java,Email,Jakarta Mail,Message,Pop3,在java mail(使用java mail API)应用程序中,我们首先连接到邮件服务器,获取消息,处理标题,然后像往常一样使用pop3处理消息正文和附件 Session session = Session.getInstance(props, null); Store store = session.getStore(urln); store.connect(); Folder f = store.getFolder("INBOX"); f.open(READ); Messages m =

在java mail(使用java mail API)应用程序中,我们首先连接到邮件服务器,获取消息,处理标题,然后像往常一样使用pop3处理消息正文和附件

Session session = Session.getInstance(props, null);
Store store = session.getStore(urln);
store.connect();
Folder f = store.getFolder("INBOX");
f.open(READ);
Messages m = f.getMessages(..);
for (Message m : messages) {
    if (!store.isConnected()) {
        //raise exception
    }
    processSubject();

    processFrom();

    processBodyAndAttachments();

    ..
}
该实现在大多数环境下都可以正常工作,但在某些客户上,storeconnection在for循环的过程中丢失。我们可以在日志中看到引发异常。我的问题是:

  • 另外,邮件服务器有时可以拒绝新的连接,但确实如此 它会终止当前的生活连接(可能是因为太多 连接或断开旧连接以访问新连接?)

  • 当存储断开连接时,文件夹是否也会关闭

  • 检查文件夹是否更好

  • 在for循环中,连接可能会在任何地方丢失,但不会丢失 似乎是一个很好的做法,把断开连接的检查在世界各地 循环,它会使代码变脏,还会导致性能问题, 试一试拦截并检查是否有误是一种好的练习吗 例外情况?(文件夹已关闭)或其他建议?哪些例外 该怎么办?在某些情况下,消息可能不正确 可解析,但连接正常

  • 添加一个断开连接的侦听器怎么样

      • 网络连接可能因各种原因而中断。您的程序必须随时准备好断开连接
      • 对于POP3,只有一个连接,因此如果连接断开,则应断开存储并关闭文件夹
      • 如果文件夹已打开,请检查该文件夹。否则去商店看看
      • 你需要一个处理失败的策略。如果跟踪已成功处理的消息,则可以在失败后的下一条消息中重新启动处理。很多细节取决于您的环境和应用程序需求
      • 断开连接的侦听器不会使这变得更容易

      请显示错误日志我们没有任何详细的日志,日志上说只有它从断开连接的块返回。由于未连接,仅返回日志转储。我们没有在那里实现详细的日志。