猿问

如何使用 JavaMail API 读取电子邮件附件(当 contentType 为)

我们有一个外部应用程序,它向我们发送一封带有附件的电子邮件。在 contentType Multipart 的情况下:我们能够解析和处理附件。


但有时他们发送内容类型为文本/纯文本的邮件(message.getContent() 为空),我们无法从消息对象中获取附件和电子邮件正文。


发送方无法将内容类型固定为多部分,我们必须在接收方端容纳它。


我们正在使用 JavaMail API 1.5,尝试过 apache commons mail util 但它仅在 message.getContent() 中有对象时才有效


文件夹 emailFolder = store.getFolder("INBOX"); emailFolder.open(Folder.READ_ONLY);


消息 [] 消息 = emailFolder.getMessages(); System.out.println("总消息" + messages.length);


for (int i = 0; i < messages.length; i++) { 消息消息 = 消息[i];


Multipart multipart = (Multipart) message.getContent();

 for(int k = 0; k < multipart.getCount(); k++){

   BodyPart bodyPart = multipart.getBodyPart(k);  

   InputStream stream = 

                     (InputStream) bodyPart.getInputStream();  

 }

}


慕婉清6462132
浏览 212回答 1
1回答

杨__羊羊

如果内容类型是文本/纯文本,则没有附件。如果 message.getContent() 返回 null,则可能也没有消息内容,或者消息的格式有问题。发布消息的原始 MIME 内容,我可以帮助您找出消息的问题所在。
随时随地看视频慕课网APP

相关分类

Java
我要回答