0
我有檢查的電子郵件附件代碼:只得到附件
final Multipart mp = (Multipart) msg.getContent();
final int numAttachments = mp.getCount();
...
final Part part = mp.getBodyPart(attachmentNumber);
然而,附件的numAttachments
回數+ 1。當我遍歷mp.getBodyPart(index)
我看到了我迭代附件和電子郵件。我只想獲得附件,而不是電子郵件。
我知道that:
附件通常,但並非總是如此,有附件的內容處置。附件通常但不總是具有文件名。
當我測試它時,我看到電子郵件總是在第0個索引處,並且附件在此之後。所以,跳過第0個索引可能是一個解決方案,但我不知道這是否適用於所有電子郵件服務器。
如何從電子郵件中獲取附件?
「附件」的概念沒有真正定義。然而,多部分的子類型是被定義的,並且會幫助你弄清楚如何處理這些部分。例如,multipart/related和multipart/alternative是非常不同的。 – erickson
我用Exchange測試時,第一個索引始終是電子郵件,但我想確定它。有一個解釋:「所以,一個好的方法首先是隻考慮具有頂級多部分/混合內容的消息,然後考慮第一部分之後的部分是附件,無論他們是否說或不。」這裏:http: //www.oracle.com/technetwork/java/faq-135477.html#attachments它是否驗證我的建議? – kamaci