Я использую последние библиотеки интеграции с версией (4.1.5) javax.mail (1.4.7), но похоже, что эта проблема сидит там с самого начала.весенняя интеграция и дата выдачи
Я пытаюсь получить полученную дату с почтового сервера по протоколу IMAP, но SI всегда возвращает null. Это происходит из-за ряда 301 https://github.com/spring-projects/spring-integration/blob/4.1.x/spring-integration-mail/src/main/java/org/springframework/integration/mail/AbstractMailReceiver.java
MimeMessage mimeMessage = new IntegrationMimeMessage((MimeMessage) filteredMessages[i]);
Так вместо того, чтобы позволить мне получить IMAPMessage экземпляр это делает меня, чтобы получить MimeMessage, который имеет заглушку для метода getReceivedDate:
public Date getReceivedDate() throws MessagingException {
return null;
}
Я вижу, что заголовок содержит не нулевой element Получил, поэтому единственный вариант, который я вижу, - это разобрать этот заголовок вручную.
Правильное ли поведение SI? Ошибка или функция? И как избежать ручного разбора полученного заголовка даты?
Сумасшедший вопрос, но вы пытались сбрасывать MimeMessage на IMAPMessage? –
уверен. (com.sun.mail.imap.IMAPMessage) in.getPayload() - не может отличить 'org.springframework.integration.mail.AbstractMailReceiver $ IntegrationMimeMessage' to 'com.sun.mail.imap.IMAPMessage' –