当前位置: 首页 > 工具软件 > Mutt > 使用案例 >

linux mutt dns,使用mutt处理电子邮件

岑鸣
2023-12-01

今天突发奇想,决定不再使用evolution来处理email了,换用一下命令行下的mutt。以前虽然早已闻其大名,但到今天才有勇气去试一下。

先在网上仔细搜了一下mutt的教程,发现要么是过时的东西,要么就是讲得不清楚,决定自己重新整理一下。(不敢期望比其它教程都好;-p)

下面仅以我使用的FC5和gmail为例。;-)

首先你应该清楚mutt所扮演的角色,mutt的设计遵循了Unix的设计哲学──“做一件事,把它做好”。mutt不会编辑邮件,也不会收发邮件,它只是把做这些事的进程有效的结合起来。具体说就是,mutt会把由fetchmail接收来的邮件以可定制的方式呈现给用户,用户编辑时它会调用用户指定好的编辑器(比如:vi或emacs),然后把编辑好的邮件交给sendmail或者其它发送邮件的进程(比如我用的msmtp)来发送。整个过程就完成了。

为了更好的配合mutt,有必要先讲一下ESR编写的fetchmail的使用。首先,按照常规,你需要通过编写配置文档来定制fetchmail的行为。在用户目录下新建一个名为.fetchmailrc的文档,内容大体如下:

defaults

poll pop.gmail.com proto POP3 and options no dns

user ‘YOUR[email protected] there with password ‘YOUR_PASSWORD’ is ‘YOUR_USER_NAME’ here options ssl

keep

mda “/usr/bin/procmail -d YOUR_USER_ID”

把上面的YOUR_USER_NAME替换成你gmail的用户名(非gmail用户也要替换后面的服务器名和上面的pop服务器),YOUR_PASSWORD替换成你的邮箱密码,把YOUR_USER_ID替换成你在你//所用主机//上面的用户名。

编写完.fetchmailrc文档之后还要用chmod把它权限设为600。

试试用下面的命令测试一下你上面的配置:

fetchmail -c

如果配置OK的话,你以后就可以使用_fetchmail -d0 -v来接收邮件了。

如果你上面收到邮件的话(没收到的话就自己发一封;-p),现在启动mutt试试。(如果没有mutt的话,到mutt官方主页上下载一个最新的。注意:如果你要让mutt本身也有收邮件功能的话,编译时请指明。)进去后是不是就看到收到的email了?mutt的按键风格和vi类似,追求用最少的按键完成最多的功能。Enter键是阅读,i键退出阅读接口,如果有多于一封邮件的话,j上选中下面的一封,而k是选中下面的,如果还有更多的话,按PageUp和PageDown来进行翻页。和其它多数进程一样,按q键是退出mutt。

在进行进一步介绍mutt之前,我们先要看一下怎么发送邮件以及怎么定制mutt。

如前所述,发送邮件可以使用sendmail或者msmtp,我用的是后者(msmtp的官方主页是:http://msmtp.sourceforge.net/)。它的配置文档你应该能猜到了,也是在用户目录下,名为.msmtprc。设置如下:

account gmail

host smtp.gmail.com

from YOURMAILBOX

tls on

auth on

port 587

user YOUR_MAILBOX

password YOUR_PASSWORD

把里面的YOUR_MAILBOX替换成你的gmail邮箱,把YOUR_PASSWORD替换为你的密码即可。

mutt的配置文档有两个,一个是系统的,一个是用户的。系统配置文档是/etc/Muttrc,里面是设置mutt的一些配色等,而用户配置文档是为用户所用的,指定自己想要的一些特性,它是在用户目录下,名为.muttrc,内容大体如下:

set alternates=”YOUR_MAILBOX”

set to_chars=”+TCFL”

set index_format=”%4C %Z %{%b %d} %-15.15L (%41) %s”

mailboxes Mailbox sent-mail

set header=yes

set quit=ask-yes

auto_view text/html

set move=yes

set include

set indent_str=”

my_hdr From: YOUR_MAILBOX

set sort=date

set charset="utf-8"

set send_charset="us-ascii:utf-8"

set editor="vi"

set sendmail="/usr/local/bin/msmtp -a gmail"

set pop_last=yes

set pop_user=YOUR_MAILBOX

set pop_pass="YOUR_PASSWORD"

set pop_host="pops://pop.gmail.com"

同样,对大写的内容做相应的替换即可。

我们逐行来看:

set alternates=”YOUR_MAILBOX”

你有可能收到信件的地址。

set to_chars=”+TCFL”

设置$to_chars变量,一般就为”+TCFL”。

set index_format=”%4C %Z %{%b %d} %-15.15L (%41) %s”

格式字符串,用来控制index的列表显示。

mailboxes Mailbox sent-mail

指定你有哪些信箱文档。

set header=yes

显示邮件头。

set quit=ask-yes

退出时询问,默认是yes。

auto_view text/html

自动浏览text/html格式的邮件。

set move=yes

提示你把信件从 /var/spool移动到的邮箱文档。

set include

回复时引用原文。

set indent_str=”

回信时以”

my_hdr From: YOUR_MAILBOX

设置你自己的邮件头。

set sort=date

按日期对邮件进行排序。

set charset=”utf-8”

终端支持的那一种编码的显示。

set send_charset=”us-ascii:utf-8”

设置发送邮件的编码,先是ASCII,如果不行的话会选择UTF-8。

set editor=”vi”

指定编辑器是vi,当然了,也可以是其它你喜欢的。

set sendmail=”/usr/local/bin/msmtp -a gmail”

设置发送邮件的进程是msmtp,-a选项指定账户,就是.msmtprc中account后面指定的内容,默认的是default。

如果你的mutt编译时带了pop功能,你可以加上下面几行:

set pop_last=yes

set pop_user=YOUR_MAILBOX

set pop_pass=”YOUR_PASSWORD”

set pop_host=”pops://pop.gmail.com”

OK!mutt的配置搞定了,现在你可以用mutt发一封邮件试试。进入mutt以后按_m键,或者干脆直接在mutt选项中指定:

mutt -s “This is subject.” [email protected] > contents.txt

好了,mutt的介绍就到此为止了。更多的mutt介绍请参考[2]。试试mutt,是不是很酷呢?

参考资料:

[1] http://corsairdoom.blogspot.com/2006/10/mutt.html

[2] http://www.ucolick.org/~lharden/learnmutt.html

[3] http://learn.tsinghua.edu.cn:8080/2001315450/mutt_frame.html

 类似资料: