spring 集成和接收日期问题
spring integation and received date issue
我正在使用最新的 spring 集成 (4.1.5) javax.mail (1.4.7) 库,但看起来这个问题从一开始就存在。
我正在尝试通过 IMAP 协议从邮件服务器获取接收日期,但 SI 始终 returns 为空。这是因为 https://github.com/spring-projects/spring-integration/blob/4.1.x/spring-integration-mail/src/main/java/org/springframework/integration/mail/AbstractMailReceiver.java
中的第 301 行
MimeMessage mimeMessage = new IntegrationMimeMessage((MimeMessage) filteredMessages[i]);
因此,不是让我获取 IMAPMessage 实例,而是让我获取具有方法 getReceivedDate 存根的 MimeMessage:
public Date getReceivedDate() throws MessagingException {
return null;
}
我看到 header 不包含空元素 Received 所以我看到的唯一选择是手动解析此 header。
这是SI的正确行为吗?错误或功能?
以及如何避免手动解析接收日期 header?
接收日期可作为 internaldate
获取项。
Parsing Received 很无聊,这可能是 Spring 开发人员尚未完成它的原因,也是您讨厌这样做的原因。看看 internaldate
是否可以。
我一直在看Sun代码;它使用 INTERNALDATE
获取项目来填充 receivedDate
属性...
javamail 1.5.2 中的第 1194 行...
else if (item instanceof INTERNALDATE)
receivedDate = ((INTERNALDATE)item).getDate();
但是,Spring 没有暴露这个;我创建了一个 JIRA issue.
我正在使用最新的 spring 集成 (4.1.5) javax.mail (1.4.7) 库,但看起来这个问题从一开始就存在。
我正在尝试通过 IMAP 协议从邮件服务器获取接收日期,但 SI 始终 returns 为空。这是因为 https://github.com/spring-projects/spring-integration/blob/4.1.x/spring-integration-mail/src/main/java/org/springframework/integration/mail/AbstractMailReceiver.java
中的第 301 行MimeMessage mimeMessage = new IntegrationMimeMessage((MimeMessage) filteredMessages[i]);
因此,不是让我获取 IMAPMessage 实例,而是让我获取具有方法 getReceivedDate 存根的 MimeMessage:
public Date getReceivedDate() throws MessagingException {
return null;
}
我看到 header 不包含空元素 Received 所以我看到的唯一选择是手动解析此 header。
这是SI的正确行为吗?错误或功能? 以及如何避免手动解析接收日期 header?
接收日期可作为 internaldate
获取项。
Parsing Received 很无聊,这可能是 Spring 开发人员尚未完成它的原因,也是您讨厌这样做的原因。看看 internaldate
是否可以。
我一直在看Sun代码;它使用 INTERNALDATE
获取项目来填充 receivedDate
属性...
javamail 1.5.2 中的第 1194 行...
else if (item instanceof INTERNALDATE)
receivedDate = ((INTERNALDATE)item).getDate();
但是,Spring 没有暴露这个;我创建了一个 JIRA issue.