当然,每个人的使用习惯都不尽相同, 仅供参考 。
电子邮箱
我希望用一个邮箱作为网上的备份,不论是收到的邮件,还是发出的邮件,都要在里面有,选择当然是 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
我的习惯是,新邮件要永远在最顶端,邮件要以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里面,最新的在最上面
另外,我的习惯是,每年一次归档旧邮件,也就是说,我的 ~/.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/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"
在mutt中做如下设置,就能够在输入收件人的时候按Ctrl-T补全收件人email地址了。
代码: 全选
set query_command="lbdbq '%s'"
如果你发邮件的时候,使用的是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/