本文介紹了在javamail中設置";mail.restraint_Mime.parm_Folding";的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我確實使用javamail來發送帶有長文件名附件的郵件。Javamail根據較新的RFC進行操作,并在郵件頭的兩行中跨越文件名,如下例所示:
------=_Part_0_978693914.1433356404377
Content-Disposition: ATTACHMENT;
filename*0="=?UTF-8?Q?arquivo_com_nome_grande_e_acentua=C3=A7=C3=A3o.png"; f";
filename*1="ilename*1="?="
Content-Type: APPLICATION/OCTET-STREAM;
name*0="=?UTF-8?Q?arquivo_com_nome_grande_e_acentua=C3=A7=C3=A3o.png"; n";
name*1="ame*1="?="
Content-Transfer-Encoding: BASE64
Outlook等郵件客戶端無法理解它,因此我需要使javamail不將文件名拆分為兩行。
閱讀RFC時,我發現了一個屬性,上面寫著不要分割:
“mail.restraint_Mime.parm_Folding”
如何在javamail中設置它?
RFC
推薦答案屬性是針對雷鳥的,它不在RFC中。
根據this Thunderbird article, Outlook doesn’t support RFC 2231,哪個Java Mail用來編碼FileName參數。您可以通過將JavaMail System property “mail.mime.encodeparameters”設置為”False”來禁用RFC 2231編碼。您可能希望將系統屬性”mail.lime.encodefilename”設置為”true”以使用Outlook支持的non-standard filename encoding。
這篇關于在javamail中設置";mail.restraint_Mime.parm_Folding";的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,