分类: LINUX
2008-03-21 21:32:49
一、什么是Mutt?
简单的说,Mutt是UNIX以及UNIX Like系统上的一种基于CLI的邮件客户端程序,拥有悠久的历史以及完善的功能,而且可定制性极强。
二、为什么使用Mutt?
有些朋友也许会问,现在的基于GUI的邮件客户端程序那么多,也不乏很多优秀产品,为什么我们还要去使用那个CLI界面的Mutt来收发邮件?
在回答这个问题之前,我们首先要澄清一个观念,其实我们并不是在用Mutt来收发邮件。我们只是以Mutt为核心,通过几个具有不同功能的程序,来完成所有的邮件处理工作。为什么要这样呢?其实阅读完本文,你会发现:
1、Mutt从来都不会自己收取邮件,如果需要的话,它会调用Fetchmail来收取邮件。
2、Mutt从来都不会自己发送邮件,如果需要的话,它会调用esmtp来发送,或者直接将邮件放到sendmail队列中,然后剩下的工作就由sendmail来完成了。
3、Mutt甚至从来都不用自己来编辑邮件,如果要写邮件的话,他会调用VIM,Emacs或者NANO来编辑。
为什么要这样呢?我们原来在使用各种邮件客户端的时候,是否总会有很多的抱怨──“怎么重装系统后我的mails都找不到了?“、”这个xxx的邮件编辑功能怎么这么弱?“、”xxx怎么总是发送邮件失败“、”怎么xxx在收邮件的时候,总是崩溃?“道理很简单,因为一个功能大而全的软件,以为这大部分的功能都不够完善(强大),这就叫顾此失彼。Mutt不会这么笨,他会让功能强大而且稳定的Fetchmail来收邮件,让esmtp或者 sendmail来发送邮件,让VIM来做邮件编辑器……这些软件都是经过千锤百炼的,而Mutt做得,仅仅把他们联系在一起。
三、为什么使用esmtp而不是sendmail
原因很简单,sendmail功能过于强大,对我来说,他太”牛刀“了,所以选用配置简单的esmtp就足够了!
配置问题:
.muttrc或者.mutt/muttrc
#set sendmail = "/usr/bin/esmtp -v -X ~/log/esmtplog"
set sendmail = "/bin/mail -v ~/log/esmtplog"
set beep = yes
set copy = yes
set fast_reply = yes
set folder = ~/Mail
set include = yes
set mbox = "=inbox"
set mbox_type = Maildir
set pager_context = 1
set pager_index_lines = 16
set pgp_verify_sig = no
set postponed = "=postponed"
set record = "=sent"
set locale = "zh_CN"
set sendmail_wait = 0
set status_on_top = no
set to_chars = "+TCEL"
set pager_stop
mailboxes ‘echo ~/Mail/*’
my_hdr From:xxxxxxxxxx@163.com
my_hdr Reply-To:xxxxxxxxxx@163.com
#没有上面两行的话,你的邮件会以root@localhost的地址发送出去,发件服务器会当做非法地址拒绝掉。
#set sort = threads
#set sort_aux = date-sent
#
macro index G "!fetchmail -av" #这俩行定义了热键G激活fetchmail来收邮件
macro pager G "!fetchmail -av" #实际上我喜欢将fetchmail加入开机启动脚本
.fetchmailrc:(可以google一下fetchmailrc example)
poll pop.163.com
with protocol pop3
username xxxxxxxx password xxxxxxxxx is douglas
.esmtprc:
identity = xxxxxx@163.com
hostname = smtp.163.com:25
username = "xxxxxxxx"
password = "xxxxxxxx"