我有一个检查电子邮件附件的代码:
".//*[text()='CardNameWebpage']"
然而,final Multipart mp = (Multipart) msg.getContent();
final int numAttachments = mp.getCount();
...
final Part part = mp.getBodyPart(attachmentNumber);
返回附件数量+1。当我遍历numAttachments
时,我看到我迭代了附件和电子邮件。我只想获得附件,而不是电子邮件。
我知道that:
附件通常(但不总是)具有内容处理附件。附件通常(但不总是)具有文件名。
当我测试它时,我看到电子邮件总是在第0个索引处,之后是附件。因此,跳过第0个索引可能是一个解决方案,但我不知道这对所有电子邮件服务器都有效。
如何才能从电子邮件中获取附件?
答案 0 :(得分:0)
在简单的情况下,multipart / mixed类型的消息将第一个正文部分作为消息的主要内容,其他正文部分作为附件。第一身体部位可以是简单的文本/平原部分,或者它可以是多部分/替代或多部分/相关部分。但跳过第一个身体部位通常会做你想要的。
MIME允许更复杂的案例。您必须决定是否以及如何处理这些案例。最复杂的案例是签名和加密的邮件,但它们相对较少。