从电子邮件中提取附件并再次发送,无需下载Java邮件

时间:2015-09-24 10:18:44

标签: javamail attachment

我有一个包含消息的文件夹。我正在尝试阅读邮件获取文本部分,修改它并再次发送邮件。这很简单,只有纯文本,但当我有多部分(附件)时,我想将附件传递给Sender类,而不将其下载到硬盘驱动器上的文件,然后从那里上传。我仍然想编辑文本部分的消息。我试图获得附件bodyPart

}else if ((Part.ATTACHMENT.equalsIgnoreCase(disposition) || !contentType
                    .equalsIgnoreCase("text/plain"))) {

                 partToPack = (BodyPart) part;
 and pass it to Sender class.

 messageBodyPart = new MimeBodyPart();
 messageBodyPart.setDataHandler(bodyPart.getDataHandler());

但我得到一个例外:

java.io.IOException: javax.mail.MessagingException: No MimeBodyPart content

我不确定如何打包附件,以便我可以稍后将其放入messageBodyPart。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

在没有先下载附件的情况下,无法使用标准IMAP和SMTP执行此操作。有IMAP和SMTP协议扩展可以实现这一点,但它们并没有被邮件服务器广泛实现,JavaMail也不支持它们。