我正在嘗試閱讀退回的電子郵件的狀態標頭。 This site更好地解釋什麼,我想......退回的郵件獲取狀態標頭
原來的電子郵件是由幾個的multipart對象組成的,所以我讀它在java代碼:
private void test(MimeMessage message) throws IOException, MessagingException {
if (message.getContent() != null && message.getContent() instanceof Multipart) {
Multipart content = (Multipart) message.getContent();
for (int i = 0; i < content.getCount(); i++) {
BodyPart bodyPart = content.getBodyPart(i);
Enumeration headers = bodyPart.getAllHeaders();
while(headers.hasMoreElements()){
Header header = (Header) headers.nextElement();
LOGGER.info("Header: " + header.getName() + " value: " + header.getValue());
}
}
}
}
電子郵件部分,我分析:
Content-Description:發送報告Content-Type:text/plain; charset = utf-8 Content-Transfer-Encoding:7bit
Reporting-MTA:dns; someLink.com X-Postfix-Queue-ID:EC862F00D0 X-Postfix-Sender:rfc822; [email protected]抵達日期:2013年8月7日(星期三) 13:52:43 +0200(CEST)
最終收件人:rfc822; [email protected] 原始收件人:rfc822; [email protected]操作: 失敗狀態:5.1.1遠程MTA:dns; [somelink.com Diagnostic-Code:smtp; 550-5.1.1您嘗試使用 的電子郵件地址範圍不存在 。請嘗試550-5.1.1仔細檢查收件人的電子郵件地址 錯別字或550-5.1.1不必要的空格。
在我的日誌文件,我可以看到只有3個標題:
> Header: Content-Description value: Delivery report
> Header: Content-Type value: text/plain; charset=us-ascii INFO
> Header: Content-Transfer-Encoding value: 7bit
有誰知道爲什麼嗎?我怎麼能得到狀態頭?謝謝