Email

具有長非 ASCII 文件名的 mutt 附件設置為“noname”

  • December 24, 2020

當我附加一個帶有俄語名稱的文件時,收件人收到了帶有名稱的附件noname。我添加set rfc2047_parameters = yes到 .muttrc,它開始適用於簡單的文件名,如Решение.docтест тест.txt. 但是當我附加一個長文件名的文件時:Электронный документ, полученный из внешней системы.pdf仍然有效並且可以通過Gmail網路界面附加,它仍然noname作為從mutt發送的文件名給出。

有可能修復嗎?

更新:語言環境結果:

$ locale
LANG=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

相信這是舊版本中的一個已知錯誤,mutt並且已於 2019 年 5 月通過送出 6898c083 修復。這意味著該修復應該已包含在版本 1.12.1 中。

我無法在 2.0.3 版(撰寫本文時的目前版本)中重現您的問題,因此我假設該修復程序仍然有效。

問題是mutt截斷了具有長名稱的附件的文件名。對多字節字元串的截斷沒有正確完成,並且文件名的最後一個字元編碼錯誤。當使用者的電子郵件客戶端注意到附件文件名的編碼不正確時,它會將名稱替換為字元串noname

在 1.12.1 版本之後,您應該能夠使用最多 255 個字元的文件名。

引用自:https://unix.stackexchange.com/questions/626018