пакет с помощью:javax.mail бросает IndexOutOfBoundsException когда индекс действительно существует
com.sun.mail: javax.mail: 1.5.6 от мавена
Я написал программу SCALA, где я использую javax.mail
, чтобы иметь дело с электронные письма. В первой части я получаю идентификатор почты по номеру message.getMessageNumber
, а позже, когда я попытался получить почту по этим id IndexOutOfBoundsException
. Почтовый сервер не изменился во время процесса.
Вот код, в котором я получаю идентификатор сообщений.
val Final = new AndTerm(Subject,Size)
//val FinalTerm = new AndTerm(From)
val messages = inbox.search(Final).map{
message=>
val date = trim(message.getSubject)
(date,message.getMessageNumber)
}.filter(_._1.isDefined).map(_._2)
inbox.close(true)
store.close
И вот код Исключение выбрано.
//newed another store and Folder with the same name
val ContentType = messages.map(id=>inbox.getMessage(id).getContentType())
inbox.close(true)
store.close
Исключение Сообщение:
Exception in thread "main" java.lang.IndexOutOfBoundsException: 416 > 64
at com.sun.mail.imap.IMAPFolder.checkRange(IMAPFolder.java:513)
at com.sun.mail.imap.IMAPFolder.getMessage(IMAPFolder.java:1770)
at EmailReader.MessageByNumber(EmailReader.scala:67)
at Main$$anonfun$main$1.apply(Main.scala:43)
at Main$$anonfun$main$1.apply(Main.scala:41)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
at Main$.main(Main.scala:40)
at Main.main(Main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
416 > 64
дает мне намек, что может быть, есть какой-то на стороне сервера ограничение, это правда?
более подробную информацию о принятии ответа: сервер закрыл мое соединение из-за их правил, чтобы запретить какое-то «странное действие», связался с администратором, решил это – skywalkerytx