Javax.mail - 无法从正文部分类型获取不同的值

Javax.mail - Cannot get different values from bodypart type

我在电子邮件的内容处理中收到不同的行时遇到问题。

电子邮件的源代码在我看来是这样的:

MIME-Version: 1.0

-----=_Part_0_1360890360.1452693261504
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

File Attached
------=_Part_0_1360890360.1452693261504
Content-Type: application/octet-stream;
    name*0="privat_20140711133201_7702_01_20140117-FPLux-AERT-reporting";
    name*1="-amended-between-31.12.2011-to-31.12.2013.xls"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
    filename*0="privat_20140711133201_7702_01_20140117-FPLux-AERT-reporting";
    filename*1="-amended-between-31.12.2011-to-31.12.2013.xls"

文件以某种方式相互分离。当 运行 对我的代码进行调试时,第二个名称或文件名不会出现,只有第一个值。在这种情况下只有 application/octet-stream;name=privat_20140711133201_7702_01_20140117-FPLux-AERT-reporting。 另一部分就这么消失了。

有人可以帮我知道如何获取文件名*1 来连接两个字符串吗?

谢谢

您可能使用的是旧版本的 JavaMail。升级到 latest version,它会为您处理此问题。或者,对于 JavaMail 1.4.1 或更新版本,将系统 属性 mail.mime.decodeparameters 设置为 "true".