摘要:當(dāng)我們使用包或者發(fā)送郵件帶有附件后,可能會(huì)出現(xiàn)較長(zhǎng)的中文名亂碼的情況,之后我們采用網(wǎng)上大多數(shù)人說(shuō)的對(duì)文件名進(jìn)行處理,然鵝,并不能解決問(wèn)題。
當(dāng)我們使用commons-email包或者javaMail發(fā)送郵件帶有附件后,可能會(huì)出現(xiàn)較長(zhǎng)的中文名亂碼的情況,之后我們采用網(wǎng)上大多數(shù)人說(shuō)的MimeUtility.encodeText()對(duì)文件名進(jìn)行處理,然鵝,并不能解決問(wèn)題。文件名處理
如下設(shè)置附件名并發(fā)送郵件,經(jīng)測(cè)試,在Mac電腦上自帶郵箱客戶端文件名正常,Mac端網(wǎng)友郵箱客戶端顯示未命名,手機(jī)網(wǎng)易郵箱客戶端附件名異常以.bin結(jié)尾,Outlook for Windows 上出現(xiàn)亂碼附件名。
EmailAttachment attachment = new EmailAttachment(); fileName = MimeUtility.encodeText(fileName); attachment.setName(fileName);解決之道
經(jīng)過(guò)多方搜集解決方案,此篇文章分析的較好,因?yàn)樵搯?wèn)題涉及了一個(gè)系統(tǒng)配置項(xiàng)mail.mime.splitlongparameters,這項(xiàng)配置為true時(shí),對(duì)于長(zhǎng)文件名將采用這種模式處理附件名,并且很多客戶端對(duì)于這種模式的支持也不太好,將這個(gè)設(shè)置為false后,發(fā)送附件名在上述出問(wèn)題的客戶端下均顯示正常了。
// 設(shè)置系統(tǒng)屬性 System.setProperty("mail.mime.splitlongparameters", "false"); EmailAttachment attachment = new EmailAttachment(); fileName = MimeUtility.encodeText(fileName); attachment.setName(fileName);
diboot 簡(jiǎn)單高效的輕代碼開(kāi)發(fā)框架
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/75449.html
摘要:網(wǎng)上也有不少人反饋用手機(jī)客戶端無(wú)法使用新浪郵箱發(fā)送郵件,隨后我嘗試用登錄新浪郵箱,也出現(xiàn)只能接收郵件而不能發(fā)送郵件的情況。三附錄錯(cuò)誤碼及建議解決方法發(fā)送郵件成功卻收不到郵件或收到郵件無(wú)主題無(wú)收件人亂碼新浪郵箱誠(chéng)信平臺(tái) 前言 ??JavaMail的使用本身并不難,網(wǎng)上有不少案例,簡(jiǎn)單易懂,而且有詳細(xì)的中文注解。但是由于JavaMail的機(jī)制設(shè)置不夠完善,特別是異常出錯(cuò)時(shí)的參考信息太少,給...
摘要:文件上傳上傳對(duì)表單限制表單中需要添加文件表單項(xiàng)用戶名照片上傳上傳對(duì)限制文件上傳不能使用這個(gè)方法在表單為時(shí),它作廢了。 文件上傳 1.上傳對(duì)表單限制 method=post enctype=multipart/form-data 表單中需要添加文件表單項(xiàng): ${msg } 用戶名; 照 片: 2.上傳對(duì)Servlet限制 文件上...
閱讀 2090·2021-10-09 09:41
閱讀 1668·2021-09-28 09:36
閱讀 1179·2021-09-26 09:55
閱讀 1364·2021-09-10 11:17
閱讀 1216·2021-09-02 09:56
閱讀 2826·2019-08-30 12:58
閱讀 2987·2019-08-29 13:03
閱讀 1915·2019-08-26 13:40