JavaMail附件名字過長導致的亂碼問題

問題背景:

公司有個業務場景是審覈客戶機構通過後,給客戶發送一封郵件,並將機構相關材料以附件形式一塊發送,有些附件名正常,有些就亂了,如下圖:

後來發現是附近名稱過長導致的!

問題原因:java mail中設置附件名稱會採用 base64格式進行編碼,如果附件名稱過長會被進行切割,將剩下字符抹去,所以導致不知道這是什麼格式的文件。

注:雖然將文件格式被改變了,但是若強制轉換成原格式(右鍵->另存爲->xxx.pdf) 仍然可以進行打開,文件內容也並非改變(這是測試後的結果)

解決方案:

由於是spring boot 項目,只需要在main方法中加入以下 代碼即可(大概意思就是,取消切割,默認是true)

System.setProperty("mail.mime.splitlongparameters", "false"); 

參考文檔:https://blog.csdn.net/z69183787/article/details/79238735

https://www.cnblogs.com/zhangzhonghui/p/11422094.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章