我们正在使用Apache Camel电子邮件渠道从邮箱中读取电子邮件,参与者可以使用XML附件发送电子邮件。我们收到一封电子邮件,但是没有继续下去,因为一旦Camel尝试阅读附件,它附加了附件作为com.sun.mail.util.BASE64DecoderStream,我们没有解码器。我想使用Java Mail 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_--
但我无法撰写附件的电子邮件,在Camel处理期间会被识别为com.sun.mail.util.BASE64DecoderStream。
你能告诉我吗?感谢。答案 0 :(得分:2)
当您收到BASE64DecoderStream的消息时,您不需要解码它。该流是JavaMail用于解码编码消息部分的流。您需要做的就是读取流以获取解码数据。