【发布时间】:2016-07-18 19:44:22
【问题描述】:
我收到了 Spring 的电子邮件,到目前为止,我的脚本非常基本
ApplicationContext ac = new ClassPathXmlApplicationContext("imap.xml");
DirectChannel inputChannel = ac.getBean("receiveChannel", DirectChannel.class);
inputChannel.subscribe(message -> {
System.out.println(message.getHeaders());
System.out.println(message.getPayload());
MessageHeaders headers = message.getHeaders();
String from = (String) headers.get("mail_from");
});
根据documentation,我认为标题会自动解析,但我第一个System.out.println();得到的标题只是
{id=c65f55aa-c611-71ee-c56d-6bf13c6f71d0, timestamp=1468869891279}
第二个输出(getPayload())是
org.springframework.integration.mail.AbstractMailReceiver$IntegrationMimeMessage@6af5615d
from 输出null...
然后我尝试使用MailToStringTransformer
MailToStringTransformer a = transformer();
a.setCharset("utf-8");
System.out.println(a.transform(message));
它输出有效负载和我所期望的所有标头,但(自然)作为字符串。
我必须做什么才能在对象中获取消息标题和文本?
【问题讨论】:
标签: java spring spring-integration jakarta-mail