Я пытаюсь запустить пример Mail imapInboundAdapter:
@Bean
public IntegrationFlow mailListener() {
return IntegrationFlows.from(Mail.imapInboundAdapter(
"imaps://myemailt%40mail.ru:mypassword@imap.mail.ru:993/inbox"
)
.javaMailProperties(p -> {
p.put("mail.debug", "false");
p.put("mail.auth", "true");
p.put("mail.imaps.ssl.trust", "*");
})
.get(),
e -> e.poller(Pollers.fixedRate(5000).maxMessagesPerPoll(1)))
.<Message>handle((payload, header) -> payload)
.log()
.get();
}
и получаю следующее исключение:
2020-01-06 19:12:44.584 INFO 5388 --- [ scheduling-1] o.s.integration.mail.ImapMailReceiver : attempting to receive mail from folder [INBOX]
2020-01-06 19:12:44.985 ERROR 5388 --- [ scheduling-1] o.s.integration.handler.LoggingHandler : org.springframework.messaging.MessagingException: failure occurred while polling for mail; nested exception is javax.mail.MessagingException: A7 NO [CLIENTBUG] Folder in read-only mode;
nested exception is:
com.sun.mail.iap.CommandFailedException: A7 NO [CLIENTBUG] Folder in read-only mode
at org.springframework.integration.mail.MailReceivingMessageSource.doReceive(MailReceivingMessageSource.java:74)
at org.springframework.integration.endpoint.AbstractMessageSource.receive(AbstractMessageSource.java:167)
at org.springframework.integration.endpoint.SourcePollingChannelAdapter.receiveMessage(SourcePollingChannelAdapter.java:250)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.doPoll(AbstractPollingEndpoint.java:359)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.pollForMessage(AbstractPollingEndpoint.java:328)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.lambda$null$1(AbstractPollingEndpoint.java:275)
at org.springframework.integration.util.ErrorHandlingTaskExecutor.lambda$execute$0(ErrorHandlingTaskExecutor.java:57)
at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50)
at org.springframework.integration.util.ErrorHandlingTaskExecutor.execute(ErrorHandlingTaskExecutor.java:55)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.lambda$createPoller$2(AbstractPollingEndpoint.java:272)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: javax.mail.MessagingException: A7 NO [CLIENTBUG] Folder in read-only mode;
nested exception is:
com.sun.mail.iap.CommandFailedException: A7 NO [CLIENTBUG] Folder in read-only mode
at com.sun.mail.imap.IMAPMessage.setFlags(IMAPMessage.java:921)
at javax.mail.Message.setFlag(Message.java:578)
at org.springframework.integration.mail.AbstractMailReceiver.setMessageFlags(AbstractMailReceiver.java:538)
at org.springframework.integration.mail.AbstractMailReceiver.postProcessFilteredMessages(AbstractMailReceiver.java:502)
at org.springframework.integration.mail.AbstractMailReceiver.searchAndFilterMessages(AbstractMailReceiver.java:426)
at org.springframework.integration.mail.AbstractMailReceiver.receive(AbstractMailReceiver.java:378)
at org.springframework.integration.mail.MailReceivingMessageSource.doReceive(MailReceivingMessageSource.java:60)
... 17 more
Caused by: com.sun.mail.iap.CommandFailedException: A7 NO [CLIENTBUG] Folder in read-only mode
at com.sun.mail.iap.Protocol.handleResult(Protocol.java:351)
at com.sun.mail.imap.protocol.IMAPProtocol.storeFlags(IMAPProtocol.java:1603)
at com.sun.mail.imap.protocol.IMAPProtocol.storeFlags(IMAPProtocol.java:1588)
at com.sun.mail.imap.IMAPMessage.setFlags(IMAPMessage.java:917)
... 23 more
В чем может быть причина?
Редактировать 2. Когда электронная почта действительно приходит, теперь я получаю новое исключение NullPointerException:
2020-01-06 21:09:12.515 INFO 996 --- [ scheduling-1] o.s.integration.mail.ImapMailReceiver : attempting to receive mail from folder [INBOX]
2020-01-06 21:09:17.522 INFO 996 --- [ scheduling-1] o.s.integration.mail.ImapMailReceiver : attempting to receive mail from folder [INBOX]
2020-01-06 21:09:18.328 ERROR 996 --- [ scheduling-1] o.s.integration.handler.LoggingHandler : org.springframework.messaging.MessagingException: failure occurred while polling for mail; nested exception is java.lang.NullPointerException
at org.springframework.integration.mail.MailReceivingMessageSource.doReceive(MailReceivingMessageSource.java:74)
at org.springframework.integration.endpoint.AbstractMessageSource.receive(AbstractMessageSource.java:167)
at org.springframework.integration.endpoint.SourcePollingChannelAdapter.receiveMessage(SourcePollingChannelAdapter.java:250)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.doPoll(AbstractPollingEndpoint.java:359)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.pollForMessage(AbstractPollingEndpoint.java:328)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.lambda$null$1(AbstractPollingEndpoint.java:275)
at org.springframework.integration.util.ErrorHandlingTaskExecutor.lambda$execute$0(ErrorHandlingTaskExecutor.java:57)
at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50)
at org.springframework.integration.util.ErrorHandlingTaskExecutor.execute(ErrorHandlingTaskExecutor.java:55)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.lambda$createPoller$2(AbstractPollingEndpoint.java:272)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.NullPointerException
at javax.mail.internet.MimeUtility.quote(MimeUtility.java:975)
at javax.mail.internet.ParameterList.quote(ParameterList.java:672)
at javax.mail.internet.ParameterList.access$200(ParameterList.java:76)
at javax.mail.internet.ParameterList$ToStringBuffer.addNV(ParameterList.java:640)
at javax.mail.internet.ParameterList.toString(ParameterList.java:621)
at javax.mail.internet.ContentType.toString(ContentType.java:221)
at com.sun.mail.imap.IMAPMessage.getDataHandler(IMAPMessage.java:644)
at javax.mail.internet.MimeMessage.getContent(MimeMessage.java:1420)
at org.springframework.integration.mail.AbstractMailReceiver$IntegrationMimeMessage.<init>(AbstractMailReceiver.java:661)
at org.springframework.integration.mail.AbstractMailReceiver.postProcessFilteredMessages(AbstractMailReceiver.java:510)
at org.springframework.integration.mail.AbstractMailReceiver.searchAndFilterMessages(AbstractMailReceiver.java:426)
at org.springframework.integration.mail.AbstractMailReceiver.receive(AbstractMailReceiver.java:378)
at org.springframework.integration.mail.MailReceivingMessageSource.doReceive(MailReceivingMessageSource.java:60)
... 17 more
Зависимости PS Maven:
spring-boot-starter-parent 2.2.2.RELEASE
группа javax.mail артефакт почты версия 1.4.7