Java Mail API - 将带有附件的电子邮件发送为 com.sun.mail.util.BASE64Decode



我们使用Apache Camel电子邮件通道从邮箱读取电子邮件,参与者在其中发送带有XML附件的电子邮件。我们收到了一封没有进行的电子邮件,因为一旦Camel尝试读取附件,它就会将附件附加为com.sun.mail.util.BASE64DecoderStream,我们没有解码器。我想使用 Java 邮件 API 重现此问题,但我无法发送此类电子邮件。电子邮件中的附件是这样附加的:

_002_148827254056800396s1npspdssma1pdnpslocal_
Content-Type: application/octet-stream;
name="20170301_ATC_STATNETT_to_CASC.xml"
Content-Description: 20170301_ATC_STATNETT_to_CASC.xml
Content-Disposition: attachment;
filename="20170301_ATC_STATNETT_to_CASC.xml"; size=3709;
creation-date="Tue, 28 Feb 2017 09:02:22 GMT";
modification-date="Tue, 28 Feb 2017 09:02:22 GMT"
Content-ID: <838DF9275132204E9619666B6B818208@casc.eu>
Content-Transfer-Encoding: base64
PD94bWwgdmVyc2lvbj0Ii8+PERvY3VtZW50VmVyc2lvbiB2PSIxIi8+PERv
Y3VtZW50VHlwZSB2PSJBMTMiLz48UHJvY2Vzc1R5cGUgdj0iQTA3Ii8+PFNlbmRlcklkZW50aWZp
Y2F0aW9uIHY9IjEwWDEwMDFBMTAwMUEzOFkiIGNvZGluZ1NjaGVtZT0iQTAxIi8+PFNlbmRlclJv
dD4NCg==
--_002_148827254056800396s1npspdssma1pdnpslocal_--

但我无法撰写这样的带有附件的电子邮件,该附件在骆驼处理期间会被识别为 com.sun.mail.util.BASE64DecoderStream。

你能给我建议吗?谢谢。

当您收到带有 BASE64DecoderStream 的消息时,您无需对其进行解码。 该流是JavaMail用来解码编码消息部分的流。 您需要做的就是读取流以获取解码的数据。

最新更新