成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

解決java發(fā)郵件中文名太長亂碼問題

gitmilk / 1988人閱讀

摘要:當(dāng)我們使用包或者發(fā)送郵件帶有附件后,可能會出現(xiàn)較長的中文名亂碼的情況,之后我們采用網(wǎng)上大多數(shù)人說的對文件名進行處理,然鵝,并不能解決問題。

當(dāng)我們使用commons-email包或者javaMail發(fā)送郵件帶有附件后,可能會出現(xiàn)較長的中文名亂碼的情況,之后我們采用網(wǎng)上大多數(shù)人說的MimeUtility.encodeText()對文件名進行處理,然鵝,并不能解決問題。
文件名處理

如下設(shè)置附件名并發(fā)送郵件,經(jīng)測試,在Mac電腦上自帶郵箱客戶端文件名正常,Mac端網(wǎng)友郵箱客戶端顯示未命名,手機網(wǎng)易郵箱客戶端附件名異常以.bin結(jié)尾,Outlook for Windows 上出現(xiàn)亂碼附件名。

EmailAttachment attachment = new EmailAttachment();
fileName = MimeUtility.encodeText(fileName);
attachment.setName(fileName);

解決之道

經(jīng)過多方搜集解決方案,此篇文章分析的較好,因為該問題涉及了一個系統(tǒng)配置項mail.mime.splitlongparameters,這項配置為true時,對于長文件名將采用這種模式處理附件名,并且很多客戶端對于這種模式的支持也不太好,將這個設(shè)置為false后,發(fā)送附件名在上述出問題的客戶端下均顯示正常了。

// 設(shè)置系統(tǒng)屬性
System.setProperty("mail.mime.splitlongparameters", "false");

EmailAttachment attachment = new EmailAttachment();
fileName = MimeUtility.encodeText(fileName);
attachment.setName(fileName);

diboot 簡單高效的輕代碼開發(fā)框架

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75449.html

相關(guān)文章

  • JavaMail郵件發(fā)送不成功的那些坑人情況及分析說明

    摘要:網(wǎng)上也有不少人反饋用手機客戶端無法使用新浪郵箱發(fā)送郵件,隨后我嘗試用登錄新浪郵箱,也出現(xiàn)只能接收郵件而不能發(fā)送郵件的情況。三附錄錯誤碼及建議解決方法發(fā)送郵件成功卻收不到郵件或收到郵件無主題無收件人亂碼新浪郵箱誠信平臺 前言 ??JavaMail的使用本身并不難,網(wǎng)上有不少案例,簡單易懂,而且有詳細的中文注解。但是由于JavaMail的機制設(shè)置不夠完善,特別是異常出錯時的參考信息太少,給...

    y1chuan 評論0 收藏0
  • 本周總結(jié)(文件上傳,下載,郵件

    摘要:文件上傳上傳對表單限制表單中需要添加文件表單項用戶名照片上傳上傳對限制文件上傳不能使用這個方法在表單為時,它作廢了。 文件上傳 1.上傳對表單限制 method=post enctype=multipart/form-data 表單中需要添加文件表單項: ${msg } 用戶名; 照 片: 2.上傳對Servlet限制 文件上...

    luxixing 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<