本文介紹了在javamail中設(shè)置";mail.restraint_Mime.parm_Folding";的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我確實(shí)使用javamail來發(fā)送帶有長文件名附件的郵件。Javamail根據(jù)較新的RFC進(jìn)行操作,并在郵件頭的兩行中跨越文件名,如下例所示:
------=_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時(shí),我發(fā)現(xiàn)了一個(gè)屬性,上面寫著不要分割:
“mail.restraint_Mime.parm_Folding”
如何在javamail中設(shè)置它?
RFC
推薦答案屬性是針對(duì)雷鳥的,它不在RFC中。
根據(jù)this Thunderbird article, Outlook doesn’t support RFC 2231,哪個(gè)Java Mail用來編碼FileName參數(shù)。您可以通過將JavaMail System property “mail.mime.encodeparameters”設(shè)置為”False”來禁用RFC 2231編碼。您可能希望將系統(tǒng)屬性”mail.lime.encodefilename”設(shè)置為”true”以使用Outlook支持的non-standard filename encoding。
這篇關(guān)于在javamail中設(shè)置";mail.restraint_Mime.parm_Folding";的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,