Я использую Javamail 1.5.6 для прослушивания входящих сообщений IMAP с определенной учетной записи электронной почты. Некоторые сообщения, приходящие всегда от одного и того же отправителя, показывают ошибки, когда я пытаюсь прочитать их размер, см. следующий журнал:
"11:48:28.876 E [JavaMail-EventQueue] it.cbt.mail.impl.IMAPFolderSynchronizer:65 - Error notifying message addition
"javax.mail.MessagingException: A588 NO some FETCH responses could not be transmitted due to errors
at com.sun.mail.imap.IMAPMessage.loadEnvelope(IMAPMessage.java:1450)
at com.sun.mail.imap.IMAPMessage.getSize(IMAPMessage.java:491)
at it.cbt.mail.impl.IMAPFolderSynchronizer.messagesAdded(IMAPFolderSynchronizer.java:54)
at javax.mail.event.MessageCountEvent.dispatch(MessageCountEvent.java:153)
at javax.mail.EventQueue.run(EventQueue.java:168)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.sun.mail.iap.CommandFailedException: A588 NO some FETCH responses could not be transmitted due to errors
at com.sun.mail.iap.Protocol.handleResult(Protocol.java:396)
at com.sun.mail.imap.IMAPMessage.loadEnvelope(IMAPMessage.java:1445)
... 5 common frames omitted
11:48:28.876 D [JavaMail-EventQueue] my.package.IncomingMailServiceImpl:182 - Notice "cannot map message section for parsing"
Я думал, что это ошибка почтового сервера, тем не менее, если я войду в почтовый веб-клиент, я смогу правильно увидеть те сообщения, которые терпят неудачу при получении с помощью Javamail, поэтому я не понимаю реальной причины проблемы. Вы когда-нибудь сталкивались с этой проблемой?
Заранее спасибо, пока
Хорошо, я понимаю, сервер должен быть "Openwave Messaging", вы это знаете?
Почти наверняка это ошибка почтового сервера. FAQ по JavaMail расскажет вам, как обход ошибок сервера IMAP.
Спасибо @Билл Шеннон. Учитывая, что моя проблема возникает при getSize(), я полагаю, что должен поймать это CommandFailedException и следовать второй подсказке в вашем FAQ, я прав? «В некоторых случаях сервер может быть настолько сильно поврежден, что загрузка данных конверта невозможна, что может привести к сбою вышеуказанного обходного пути, поскольку внутренне он сначала получает флаги сообщения и размер сообщения с сервера». ?
Служба поддержки почтового провайдера подтвердила, что у них возникли проблемы с сервером IMAP. Наша реализация StoreListener показывала уведомления об отключении сервера в те дни, когда появлялось CommandFailedException. Спасибо Билл
Веб-клиент, вероятно, не использует IMAP. Что такое сервер?