2017-04-13 141 views
0

我們使用Apache Camel電子郵件通道從郵箱中讀取電子郵件,參與者用XML附件發送電子郵件。我們收到一封未被執行的電子郵件,因爲一旦駱駝嘗試閱讀附件,它會將附件附加爲com.sun.mail.util.BASE64DecoderStream,並且我們沒有解碼器。我想使用Java郵件API重現此問題,但我無法發送此類電子郵件。在電子郵件中的附件被安裝是這樣的:Java郵件API - 發送附件爲com.sun.mail.util.BASE64DecoderStream的電子郵件

_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: <[email protected]> 
Content-Transfer-Encoding: base64 

PD94bWwgdmVyc2lvbj0Ii8+PERvY3VtZW50VmVyc2lvbiB2PSIxIi8+PERv 
Y3VtZW50VHlwZSB2PSJBMTMiLz48UHJvY2Vzc1R5cGUgdj0iQTA3Ii8+PFNlbmRlcklkZW50aWZp 
Y2F0aW9uIHY9IjEwWDEwMDFBMTAwMUEzOFkiIGNvZGluZ1NjaGVtZT0iQTAxIi8+PFNlbmRlclJv 
dD4NCg== 

--_002_148827254056800396s1npspdssma1pdnpslocal_-- 

但我不能夠撰寫這樣的電子郵件,這將在處理過程中由駱駝被識別爲com.sun.mail.util.BASE64DecoderStream附件。

你能給我建議嗎?謝謝。

回答

2

當你收到BASE64DecoderStream的消息時,你的不需要對它進行解碼。該流是JavaMail用來解碼編碼消息部分的內容。您只需讀取流即可獲取解碼數據。