Mutt中文FAQ
怎样才能让我发出的信件使用我的POP邮箱的地址,而不是 root@myhost.com 这样的地址?
本文引用地址://m.amcfsurvey.com/article/201609/304241.htm用 my_hdr 把你的 From: 设置为你想要的地址就行了。比如我是这样设置的:
my_hdr From: wang-y01@mails.tsinghua.edu.cn
注意 From: 的冒号之后有空格!
怎样让Mutt显示日期等为中文?
set locale=zh_CN
发出的信件为什么设置了错误的 charset?别人的程序不能正确显示我的中文信件!
把 gb2312 编码加到你的 send_charset. 就像这样最好:
set send_charset=us-ascii:iso-8859-1:gb2312:utf-8
收到一些中文信件全部显示为 ???
这是因为某些 email 客户端,比如清华大学 mails.tsinghua.edu.cn 的WWW界面客户端 没有设置字符编码,你看看邮件头(按h),是不是有个
Content-Type: text/plain
但是后面没有说 charset=GB2312?Mutt遇到这种没有设置 charset 的邮件就会使用 us-ascii,所以如果你想让这种信件可以正确显示,就把 us-ascii 设置为 gb2312 的别名:
charset-hook ^us-ascii$ gb2312
注意 us-ascii 中间的连字号!
可是仍然有邮件标题乱码呢!
看看你的 $spool 里那个乱码的信件是不是有类似如下内容:
Subject: =?iso8859-1?B?U29oddCj09HCvDq587Dg09DQwrPJ1LG808jro6E=?=
Chinaren 等服务器发出来的信件使用了 quoted-printable 的 subject,而且设置编码为 iso8859-1,这显然是错误的。
对付这个错误的办法是把 iso-8859-1 变成 gb2312 的别名:
charset-hook ^iso-8859-1$ gb2312
注意 iso-8859-1 中间的连字号!
如果仍然有信件乱码。干脆用
charset-hook .* gb2312
把所有信件都用 gb2312 显示。
可是这样设置之后 evolution 发过来的 subject 为 utf-8 编码的邮件标题乱码!
那就把不是 utf-8 的编码都映射到 gb2312:
charset-hook !utf-8 gb2312
怎样配置 fetchmail?
fetchmail 的配置非常简单。如果只是一个人用的话,可以这样设置:比如,我在我的 $HOME 目录编辑了一个 .fetchmailrc:
set daemon 60 poll mails.tsinghua.edu.cn protocol POP3 user wang-y01 password wang-y01的密码 poll smth.org .... ....
然后把 fetchmail 写到我的shell启动脚本里:
! ps aux | grep -q fetchmail fetchmail
fetchmail 启动后成为一个 daemon, 每分种帮我检查所有邮箱里的邮件,收回来,并且转发到本地信箱。修改上面那个 60 就可以改变检查时间间隔。
如果不想让 fetchmail 删除服务器上的文件,而且每次只取新的信。就在配置文件里加上:
keep uidl
我不想用 fetchmail,能不能直接收回 POP 信件啊?
如果你的Mutt编译时加入了 POP 功能,那么你可以直接从 POP 服务器收邮件而不用借助于 fetchmail. 把类似这些行加入 ~/.muttrc
set pop_user=wang-y01 set pop_pass=wang-y01的密码 set pop_host=pop://mails.tsinghua.edu.cn
也可以一次性输入所有内容:
set pop_host=pop://wang-y01:wang-y01的密码@smth.org
在 Mutt 里按一下 G 就可以取邮件了。
怎样处理多个 POP3 信箱?
如果你有多个POP信箱,你可以设置一些方便的宏把POP信件收到你信箱里。举个例子,就像我这样:
macro index ,shredder :set pop_host= pop://shredder:shredder的密码@smth.orgr
这样,我只要按 ,shredder 就可以收我在 smth 上 shredder 的信件,只要按 ,sk8er 就可以收我在 smth 上 sk8er 的信件,只要按 ,ts 就可以收 mails.tsinghua.edu.cn 的信件,只要按 ,g 就可以收取我所有 POP 信箱的信件了。
怎样直接访问 POP3 信箱?
除了上面的方法,你还可以直接访问 POP3 信箱。比如,我可以直接按 c 切换到信箱 pop://sk8er:sk8er的密码@smth.org
就可以浏览 pop 的信件了。切换到其它信箱就浏览不同的 pop。如果你嫌按键太多可以自己定义一个宏。这是同步操作,你如果在这个信箱里删除一封信件,mutt 就会删除你 pop3 服务器上的信件。你不删它也不删。
邮件太多时这样效率很低,每次都要取所有邮件头,就像 Foxmail 的“远程邮件管理”。所以最好在那种不想取回信件,而想直接删除垃圾邮件的时候用这个办法。
怎样处理邮件列表?
参看subscribe命令。
我按 d 的时候邮件被直接标记删除了,怎样才能把删掉的信件都移到一个“垃圾箱”呢?
你只要把信件用 save-message 函数保存到你的垃圾箱,比如 ~/Mail/Trash,信件会被自动做上 D(删除) 标志。为了让 d 可以保存到垃圾箱,你可以把 d 键绑定到一个宏。但是如果你要删除垃圾箱里的邮件,这个宏会再次把垃圾箱的邮件存储到垃圾箱,产生循环。所以你应该使用 folder-hook 在垃圾箱里把 d 恢复到原来的 delete-message 函数,而在其它信箱使用那个宏。
现在你可以用以下设置得到一个“垃圾箱”的功能。第一次按 d 时有可能会被讯问是否建立这个信箱(Trash).
folder-hook . 'macro index d ~/Mail/Trashr' folder-hook ~/Mail/Trash 'bind index d delete-message'
评论