分页: 1 / 3

用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-02 21:46
roylez
我使用mutt已经进入第4年了。4年里不断的对mutt环境的配置,使我越来越没有可能在将来放弃这个舒服的电子邮件环境。这篇文章的内容,不会涉及到很多mutt基本的设定,比如说编码、html和doc文件显示等等,而会更着重于我个人的日常使用习惯方面的东西--也就是“我是怎么让mutt更听话的”。里面的内容,不光涉及mutt的配置,也有很多周边软件及gmail的配置。

当然,每个人的使用习惯都不尽相同, 仅供参考

电子邮箱

我希望用一个邮箱作为网上的备份,不论是收到的邮件,还是发出的邮件,都要在里面有,选择当然是 Gmail !假定我的gmail邮箱是 [email protected]

把其他邮箱的邮件转发到gmail
  • 如果邮箱foo支持转发,最简单不过,直接转发到 [email protected]。然后,在gmail里面,添加一个filter,has the words填“deliveredto:helloworld+foo”,action选择添加名为“foo”的tag。这样就方便在gmail中自动区分来自这个邮箱的邮件。
  • 如果邮箱foo支持pop3,可以设置gmail去自动收取,同样,收取的邮件,gmail可以自动加tag。
  • 如果你比较倒霉,有一个邮箱是exchange server的,那你需要用其他方法转发到gmail。我的方法是用fetchmail。缺点是用的smtp服务器不能带密码。

    代码: 全选

    poll mailbox.foo.com
        protocol imap
        username "hello" there with password "world"
        smtphost smtp.foo.com, another.smtp.com
        smtpname "[email protected]"
        ssl keep
mutt里收件箱配置

我的习惯是,新邮件要永远在最顶端,邮件要以thread的方式显示,收件箱和发件箱是一起的,以便完整显示相关通讯内容。

代码: 全选

set mbox_type=Maildir           # Maildir格式
set folder="~/.mail"            # 邮件目录
set mask="!^\\.[^.]"            # 忘了干什么的了
set mbox="+inbox"               # 收件箱是 ~/.mail/inbox
set record="+inbox"             # 发件箱是 ~/.mail/inbox
set postponed="+inbox"          # 草稿箱是 ~/.mail/inbox
set spoolfile="~/.mail/inbox"   # MDA直接把邮件递到我的收件箱
set sort=reverse-threads            # 新的在最上面,按thread归档
set sort_aux=last-date-received     # 同一个thread里面,最新的在最上面
这里要提到的邮箱的格式,我用Maildir,也就是用单个文件代表一封邮件。Maildir比起一个邮箱为一个文件的mbox格式,有速度快,少死锁的优点;缺点是其他email客户端支持得少。我对于imap同步操作远程邮箱的方式并不喜欢,因为这样不方便我接收系统邮件(后面要提到),更不利于我在没有网络的时候阅读邮件。

另外,我的习惯是,每年一次归档旧邮件,也就是说,我的 ~/.mail/inbox,只存今年的邮件,往年的,被移到了 ~/.mail/2007, ~/.mail/2008~/.mail/2009

再另外,可以设置下颜色,让自己为收件人的邮件和我自己发出去的邮件着重显示

代码: 全选

color index yellow default ~p              # 发给我的,黄色
color index blue default ~P                # 我发的,蓝色
color index brightyellow default ~N        # 新的,黄色粗体
color index brightgreen default "~N ~p"    # 新发给我的,绿色粗体
效果如图

图片

邮件收发

收邮件,没什么好说的,我用 fetchmail 收gmail。发邮件,我目前用msmtp,也许将来会换用esmtp(原因后面要提到)。如下设置可以实现在不同的地方自动切换smtp服务器。

代码: 全选

set sendmail="~/bin/sendemail"
而在~/bin/sendemail脚本中

代码: 全选

#!/bin/bash

hn=$(host $(curl -s icanhazip.com)|awk '{print $NF}')   # 获取域名
if [[ "$hn"=*.foo.* ]]; then
    # 使用foo的smtp配置,lbdb的功能在将在下面提到
    tee >(lbdb-fetchaddr -a) |/usr/bin/msmtp -a uq $@
    #/usr/bin/msmtp -a uq $@
else
    # 使用默认smtp配置,这里为gmail
    tee >(lbdb-fetchaddr -a) |/usr/bin/msmtp $@
fi

联系人管理


我使用abook和lbdb管理联系人。对于自己觉得需要记忆的,手动写到abook里面去。而lbdb则负责将我所有发出邮件的收件人email地址记下来。

~/.lbdbrc
内容为

代码: 全选

METHODS="m_inmail m_abook"
当然,在上面提到的邮件~/bin/sendemail脚本中的lbdb-fetchaddr命令就是用来提取收件人email地址的。

在mutt中做如下设置,就能够在输入收件人的时候按Ctrl-T补全收件人email地址了。

代码: 全选

set query_command="lbdbq '%s'"
自动备份所发邮件到gmail

如果你发邮件的时候,使用的是gmail的smtp服务器,那么,这邮件就已经备份到gmail的发件箱去了。但是,当你不能使用gmail的smtp服务器的时候,可以这样。

代码: 全选

my_hdr Bcc: [email protected]
系统邮件

系统邮件,就是你的电脑发给你的这个帐号的,比如说cron的作业输出,比如nagios的系统过载警告等等。我喜欢在cron里面放一些奇怪的脚本,比如说自动查小说更新的阿什么的,如果有更新我就会收到email提醒,当然,这些email因为是我的电脑内部产生的,不会备份到gmail。

如果你想要收到系统给你发的email,那么,你的系统里面要么就得装邮件发送服务器,比如exim4,因为系统邮件是靠/usr/sbin/sendmail发送的,要么,就像我,装个esmtp,因为esmtp可以带个sendmail的符号链接,可以用于投送系统邮件。esmtp,如果只是发送系统邮件不需要配置。另外,在你的MDA配置里面,要把系统邮件投送地址修改下,我用的是procmail。

代码: 全选

DEFAULT=$HOME/.mail/inbox/      # 外来邮件投递地址,最后的/表示是Maildir
ORGMAIL=$DEFAULT                # 系统邮件投递地址

反垃圾邮件过滤


gmail自带的垃圾邮件过滤已经有一重保护了,但是偶尔也不够,我使用bogofilter做第二重的垃圾邮件过滤,需要在procmailrc里面加

代码: 全选

:0fw
| bogofilter -u -e -p

:0:
* ^X-Bogosity: Spam.*
spam/
至于怎么配置快捷去训练bogofilter,有兴趣的自己去查或者下载我的配置。

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-02 21:49
mayue617
mark! 以前安完就没用过.. 哪天试试看

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-02 21:54
leeaman
纯支持,还没有用邮件客户端的习惯~~~

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-02 22:00
qiang_liu8183
leeaman 写了:纯支持,还没有用邮件客户端的习惯~~~

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-03 6:13
flea
不错,mark

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-03 8:00
blue sea
我是直接ff上gmail.

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-03 15:20
bootu
不错。之前配置 MUTT一直有问题,只能收不能发。改天按楼主的指导试一下!。 :em11

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-03 16:24
photor
leeaman 写了:纯支持,还没有用邮件客户端的习惯~~~
:em09

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-03 17:45
风间星魂
还是这个问题,发邮件要秘匙!!!!!

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-03 18:29
adam8157
抢主席生意....

喜欢把邮件全放在服务器的, 不喜欢在本地存储邮件的, 喜欢只用mutt一个软件搞定这些的...嘿嘿,看我的签名...

PS: 最近配置有更新, 本地搞了个缓存, 不用总是下载下来看, 看过一次的邮件就不用再次下载了...

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-03 18:30
adam8157
风间星魂 写了:还是这个问题,发邮件要秘匙!!!!!
把autosign关掉...

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-03 19:15
roylez
adaml 写了:抢主席生意....

喜欢把邮件全放在服务器的, 不喜欢在本地存储邮件的, 喜欢只用mutt一个软件搞定这些的...嘿嘿,看我的签名...

PS: 最近配置有更新, 本地搞了个缓存, 不用总是下载下来看, 看过一次的邮件就不用再次下载了...
这样看系统邮件不方便。系统邮件对我很重要

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-04 1:36
xiaoyong
准备学习中

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-04 10:53
wenjianhn
qiang_liu8183 写了:
leeaman 写了:纯支持,还没有用邮件客户端的习惯~~~

Re: 用mutt和gmail打造舒服的电子邮件环境

发表于 : 2010-01-04 10:58
tenzu
我是来顶主席的