我收到電子郵件春天,一個非常基本的腳本到目前爲止如何正確地獲得與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.springframewo[email protected]6af5615d
個
from
輸出null
...
然後我試圖使用MailToStringTransformer
MailToStringTransformer a = transformer();
a.setCharset("utf-8");
System.out.println(a.transform(message));
,它輸出的有效載荷和我預料的所有頭,但是(自然)爲一個字符串。
我需要做些什麼來獲取對象中的消息標題和文本?
謝謝你的迴應。你引用了我已鏈接的文檔。謝謝你。你真的能幫我嗎?我真的不知道如何使用HeaderMapper – baao
試着從'DefaultMailHeaderMapper'注入你的'imap-idle-channel-adapter'。並且要注意'embedded-parts-as-bytes'選項。 –
謝謝,我以爲我以前完全錯了。問題實際上是我的Spring集成版本錯誤,並且沒有DefaultMailHeaderMapper類。現在它正在工作 – baao