LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 930|回复: 4

mutt有些邮件标题乱码,但是内容正常

[复制链接]
发表于 2011-6-11 14:11:22 | 显示全部楼层 |阅读模式
如图,标题乱码,但是打开邮件后内容中文又显示正常...


.muttrc配置如下:
set charset="utf-8"
set assumed_charset="utf-8:gb2312:gb18030:gbk"
set send_charset="gb2312:utf-8:us-ascii:iso-8859-1"
set locale="zh_CN.UTF-8"
charset-hook !utf-8 gb2312

系统ubuntu的UTF8编码,发在ubuntu论坛貌似没人知道..:help
不知道.mailcap有没有影响,一起贴上来
cat .mailcap :
application/msword; wvHtml --charset=gb2312 %s - | lynx --dump -stdin;
nametemplate=%s.html; copiousoutput

#text/html; lynx --dump %s; nametemplate=%s.html; copiousoutput
text/html; w3m -dump -I %{charset} -T text/html %s; copiousoutput

application/pdf; acroread %s
image/jpeg; eog %s
image/gif; eog %s &
image/GIF; eog %s &
image/JPG; eog %s &
image/jpg; eog %s &

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2011-6-11 16:25:05 | 显示全部楼层
先配置vi,
编辑.vimrc,输入以下内容:
  1. let &termencoding=&encoding
  2. set fileencodings=utf-8,gb18030
复制代码
再配置你的.muttrc:
  1. set charset="UTF-8"
  2. set send_charset="UTF-8"
  3. set locale="zh_CN.UTF-8"
  4. charset-hook ^us-ascii$ gb2312
  5. charset-hook !UTF-8 gb2312
  6. set assumed_charset="gb2312"
  7. set rfc2047_parameters=yes
复制代码
其中
  1. charset-hook !UTF-8 gb2312
复制代码
就是解决邮件标题乱码的,另外,默认编码不要设置太多。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-11 18:09:01 | 显示全部楼层
照着改了..还是乱码...

大部分邮件是好的,但就是有一小部分乱码..
贴出china-pub的一个乱码邮件头:
Subject: china-pub库房正在为您配货(2936022号订单)
Date: Tue, 01 Dec 2009 07:01:29 +0800
MIME-Version: 1.0
Content-Type: multipart/mixed;
        boundary="--=B6D8FB85B0A44366B51F_FF71_B677_45BE"
X-Coremail-Antispam: 1UD129KBjvJXoW7uFW7Kr4ftr17Zr18tw17GFg_yoW8GF4xpr
        43Ww48KaykAwsruF48Aw1vk3yUWwsrKw1qy34aka42qr90qFy7tay3Aa4aqw4vvw1DCrWI
        yryruF13uF1DZa7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
        9KBjDU0xBIdaVrnRJUUUhS1cI2aVAY0cIEOcxKewAFxVCF77xC6IxKo4kEV4yl1I0EscIY
        IxCEI4klw4CSwwAajcAI67AEwVCqmwAajcAI67AEwVCqmTvqmwAajcAI67AEwVCvqTyln7
        IjY7xE6298M2k07cx0zVASpT9fM2k07cx0zVAGm3sK3-4ln7IjY7xE6xnvqTWln7IjY7xE
        6InkM2kK6svUXVAqrcv_Jw1UAryfM2vj6ckvj4CvYVAqrcv_JFWUCr4fMc02F40E42I26x
        C2a48xMc02F40Ex7xS67I2xxkvbII20VAFz48EcVAYj21lYx0E74AGY7Cv6cx26rWlYx0E
        2Ix0cI8IcVAFwI0_Jrv_JF1lYx0Ex4A2jsIE14v26F4UJVW0owACjcxG0xvEwIxGrwACY4
        xI6c02F40Ez4kGawAC67AEwI8IwI0E5a4lw4CEF2IF47xS0VAv8wAKzVCjr7xvwVAFz4v2
        04v26I0v724l7I0Y64k_MxkIecxEwVAFwVWfMxkI7II2jI8vz4v_Kr0_Gr1UMxAIw28Icx
        kI7VAKI48JMxAIw28IcVCjz48v1sIEY20_WwCF72vEw4AK0wCFI7vE84CIb48I67vvx24l
        x4CE17CEb7AF67AKxVWUJVWUXwCIc40Y0x0EwIxGrbIYCTnIWIevJa73UjIFyTuYvjfUTx
        R6UUUUU
Message-Id: <4B1450CB.63E7AE.09669@m12-72.163.com>

charset-hook ^us-ascii$ gb2312
charset-hook !UTF-8 gb2312
上面那个是重复的吧?非UTF-8编码应该包含了us-ascii,不知我理解的对否?

multipart/mixed这种又是什么格式呢?也没看到任何编码信息
回复 支持 反对

使用道具 举报

发表于 2011-6-11 19:09:25 | 显示全部楼层
不重复。
第一句的意思是把us-ascii作为gb2312的别名,
对于没有设置charset的,mutt默认用us-ascii处理,
这个时候把us-ascii作为gb2312的别名。
第二句的意思是对于有charset定义的,
非utf8则一律用gb2312处理。
如果这两句同时存在且无效,可能你还需要加一句:
  1. set strict_mime=no
复制代码
这句的意思是,不进行严格的Mime检查,
有些邮件可能就没有经过Mime编码或编码错误。
至于Content-Type: multipart/mixed是指邮件包含附件和html代码
回复 支持 反对

使用道具 举报

发表于 2011-6-11 19:16:35 | 显示全部楼层
哦,对了,strict_mime是老版本的mutt才有的指令,如果你是老版本的Mutt,可以试试看,如果你的是新版本的,我也不清楚怎么办。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表