mutt发出的带有中文的附件对方收不到

歡迎提問 debian desktop 相關問題,何謂 desktop ? 舉凡您日常生活會用到的部份,如上網 ( www 、 bbs ..) 、程式設計、繪圖...等等。 通常以 X Window 環境底下問題為主。

mutt发出的带有中文的附件对方收不到

文章phyrster » 週六 2月 18, 2006 12:21 am

我用Sid中的mutt,用msmtp从gmail的帐户上发信。Locale 是en_US.UTF-8

由于经常收到一些MS word文件,我在mutt下看文件名显示正常,修改一下后,把这个文件作为附件发出,结果对方说是收不到,但是我用mutt发给自己却是正常显示的。

我又发给我自己的gmail信箱,发现那个附件的文件名变成了这样:

gb2312''BEC%BF%DA%CA%D4%BF%BC%B9%D9%CC%E1%C3%FB%B1%ED%2Edoc

在我的其它邮箱中,附件无法显示。但是邮件的大小却又是包含了附件大小的邮件。这是怎么回事?

请问如何解决这个中文附件不能被对方接收的问题。
phyrster
可愛的小學生
可愛的小學生
 
文章: 77
註冊時間: 週三 7月 27, 2005 1:03 am

文章phyrster » 週日 3月 05, 2006 4:02 pm

可能是我说的不够明白:

如果附件的名字是中文的话,对方就看不到附件,和附件的内容是无关的。

难道没有人遇到这类问题吗?
phyrster
可愛的小學生
可愛的小學生
 
文章: 77
註冊時間: 週三 7月 27, 2005 1:03 am

文章Edward G.J. Lee » 週日 3月 05, 2006 9:55 pm

可能的原因是:

1.你要把 mutt 的 charset 及 send_charset 設在 utf-8。從你的 post 看起來,顯然並沒有這樣設:
代碼: 選擇全部
edt1023:~$ echo '0xBFDA,0xCAD4,0xBFBC,0xB9D9,0xCCE1,0xC3FB,0xB1ED'|recode gb/x2..gb
口试考官提名表

他仍然是 gb2312 編碼。

2. 對方的 webmail 不支援解這種碼。那就只好改為英文名再寄發。
LGJ
道隱於小成,言隱於榮華。(莊子.齊物論)
頭像
Edward G.J. Lee
榮譽學長
榮譽學長
 
文章: 211
註冊時間: 週一 11月 10, 2003 9:24 pm
來自: 鄉下

文章phyrster » 週日 3月 05, 2006 10:20 pm

该文件的名字本身因该就是 gb2312,因为是从简体的中文windows下寄来的。
那么我照原样发给他们,为什么就不行呢?对方用大陆常用的 Foxmail 也是看不到。

我试着把:charset 及 send_charset 设为 utf-8,在gmail下,附件显示成了这样:

utf-8''%E5%AE%9E%E9%AA%8C%2Edoc

还是不能正常显示。

我问了debian的中文列表,有人说是要在.muttrc里设置:

set rfc2047_parameters=yes
set create_rfc2047_parameters=yes

其中第一个设置是原来己有的,第二个我加上以后出错,mutt似乎不支持。迷茫中。
phyrster
可愛的小學生
可愛的小學生
 
文章: 77
註冊時間: 週三 7月 27, 2005 1:03 am

文章Edward G.J. Lee » 週日 3月 05, 2006 10:32 pm

phyrster 寫:该文件的名字本身因该就是 gb2312,因为是从简体的中文windows下寄来的。
那么我照原样发给他们,为什么就不行呢?对方用大陆常用的 Foxmail 也是看不到。

我试着把:charset 及 send_charset 设为 utf-8,在gmail下,附件显示成了这样:

utf-8''%E5%AE%9E%E9%AA%8C%2Edoc

还是不能正常显示。

那可能是 gmail 不支援?問一下 gmail 的人試試看。

我问了debian的中文列表,有人说是要在.muttrc里设置:

set rfc2047_parameters=yes
set create_rfc2047_parameters=yes

其中第一个设置是原来己有的,第二个我加上以后出错,mutt似乎不支持。迷茫中。

mutt 沒有 create_rfc2047_parameters,只有 rfc2047_parameters。但據我所知,這不是標準做法,這是對方在 Content-Disposition filename 使用例如 base64/qp 的編碼時,解這些編碼用的,這個部份應該是不能使用這類編碼,所以,正常應該是不會發生這種情況。
LGJ
道隱於小成,言隱於榮華。(莊子.齊物論)
頭像
Edward G.J. Lee
榮譽學長
榮譽學長
 
文章: 211
註冊時間: 週一 11月 10, 2003 9:24 pm
來自: 鄉下

文章訪客 » 週一 3月 06, 2006 8:45 am

不要用foxmail,这个东西根本不遵守邮件格式编码规范,而且以前版本曾经有意的制造编码错误信息,用来迫害解码正确的软件。
訪客
 

文章phyrster » 週一 3月 06, 2006 4:16 pm

Edward G.J. Lee 寫:那可能是 gmail 不支援?問一下 gmail 的人試試看。

我分别试了大陆新浪和亿唐的邮箱,结果也是不能正常显示。
我问了debian的中文列表,有人说是要在.muttrc里设置:

set rfc2047_parameters=yes
set create_rfc2047_parameters=yes

其中第一个设置是原来己有的,第二个我加上以后出错,mutt似乎不支持。迷茫中。

Edward G.J. Lee 寫:mutt 沒有 create_rfc2047_parameters,只有 rfc2047_parameters。但據我所知,這不是標準做法,這是對方在 Content-Disposition filename 使用例如 base64/qp 的編碼時,解這些編碼用的,這個部份應該是不能使用這類編碼,所以,正常應該是不會發生這種情況。

我用rfc2047_parameters这个参数,是因为如果没有,在mutt中,附件的中文名字不能显示。加上后就好了。create_rfc2047_parameters这个参数据说要打补丁,不知道是否会改善附件中文名的问题?
phyrster
可愛的小學生
可愛的小學生
 
文章: 77
註冊時間: 週三 7月 27, 2005 1:03 am

文章Edward G.J. Lee » 週一 3月 06, 2006 5:28 pm

phyrster 寫:
Edward G.J. Lee 寫:那可能是 gmail 不支援?問一下 gmail 的人試試看。

我分别试了大陆新浪和亿唐的邮箱,结果也是不能正常显示。

webmail 據我所知,多數是不支援的。

我用rfc2047_parameters这个参数,是因为如果没有,在mutt中,附件的中文名字不能显示。加上后就好了。create_rfc2047_parameters这个参数据说要打补丁,不知道是否会改善附件中文名的问题?

正常是不會發生這種問題,mutt 可以自動處理 attachment 檔名的問題,可能是你哪個地方有設錯。

可以使用編輯器去開啟那個 email(mutt 裡頭看信時按 e),正常的 Content-Disposition: attachment; filename 是前加上 encoding 後使用 URL encoding。以 UTF-8 locale(中文檔名測試.utf8)為例:
代碼: 選擇全部
Content-Disposition: attachment; filename*=utf-8''%E4%B8%AD%E6%96%87%E6%AA%94%E5%90%8D%E6%B8%AC%E8%A9%A6%2Eutf8

edt1023:~$ echo '%E4%B8%AD%E6%96%87%E6%AA%94%E5%90%8D%E6%B8%AC%E8%A9%A6%2E'|sed 's/%/\\x/g'
\xE4\xB8\xAD\xE6\x96\x87\xE6\xAA\x94\xE5\x90\x8D\xE6\xB8\xAC\xE8\xA9\xA6\x2E
edt1023:~$ echo -e '\xE4\xB8\xAD\xE6\x96\x87\xE6\xAA\x94\xE5\x90\x8D\xE6\xB8\xAC\xE8\xA9\xA6\x2E'
中文檔名測試.

Content-Disposition 是郵件裡頭的內容,其下的是在 UTF-8 terminal 執行的。所以,MUA 必需要有能力解這個 URL encoding 才能看得到檔名。
LGJ
道隱於小成,言隱於榮華。(莊子.齊物論)
頭像
Edward G.J. Lee
榮譽學長
榮譽學長
 
文章: 211
註冊時間: 週一 11月 10, 2003 9:24 pm
來自: 鄉下


回到 debian desktop

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客