从电子邮件中提取附件并在不下载的情况下再次发送 java 邮件

Extract attachment from email and send it again without downloading it java mail

我有一个包含消息的文件夹。我正在尝试阅读消息获取文本部分,修改它并再次发送消息。这很简单,只有纯文本,但是当我有多部分(附件)时,我想将附件传递给发件人 class 而无需将其下载到硬盘驱动器上的文件,然后仍然从 there.I 上传想要编辑消息的文本部分。我试图获取附件 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 中。

感谢您的帮助!

如果不先下载附件,就无法使用标准 IMAP 和 SMTP 执行此操作。有启用此功能的 IMAP 和 SMTP 协议扩展,但邮件服务器并未广泛实施它们,JavaMail 也不支持它们。