mirror of
https://github.com/beyondx/Notes.git
synced 2026-11-03 22:13:49 +08:00
Add New Notes
This commit is contained in:
201
Zim/Utils/Mutt/Manual/mutt的简单使用.txt
Normal file
201
Zim/Utils/Mutt/Manual/mutt的简单使用.txt
Normal file
@@ -0,0 +1,201 @@
|
||||
Content-Type: text/x-zim-wiki
|
||||
Wiki-Format: zim 0.4
|
||||
Creation-Date: 2011-12-30T16:45:09+08:00
|
||||
|
||||
====== mutt的简单使用 ======
|
||||
Created Friday 30 December 2011
|
||||
http://hi.baidu.com/realasking/blog/item/10c1c3d346be6cd2a9ec9adc.html
|
||||
本文为原创内容,首发与百度linux吧和个人空间,如有转载,敬请注明出处与作者。
|
||||
——realasking
|
||||
|
||||
本系列前一篇帖子简介了如何使用fdm接收邮件,但是只能接收邮件是远远不够的,要
|
||||
在本地处理邮件,还需要邮件管理和发送的工具。在Linux/Unix系统下,mutt是最常
|
||||
用的邮件管理工具之一,功能非常强大,可以调用各种编辑器,以及邮件收、发工具,
|
||||
从而构成半自动/自动的邮件客户端,本文即初略介绍mutt的简单使用方法。
|
||||
|
||||
mutt的配置文件为.muttrc,在使用mutt之前,需要先建立该文件,但是该文件与fdm
|
||||
的配置文件不同,**没有很清晰的结构层次**,所有的变量和命令,都是只要存在,就会
|
||||
生效的,不过它的配置文件也因而具有更大的灵活性,在书写的时候,需要自己考虑
|
||||
需要实现的功能,以及__规划文件的结构__。
|
||||
|
||||
mutt的配置和写脚本文件有一些不太一样的地方,比如变量设定,在muttrc中使用的
|
||||
一部分变量,如邮件头my_hdr,mailboxes等,__新的设置并不会替换原有设置__,甚至
|
||||
会累加进去,而另有一些变量,如以set命令开头指定的,往往只**允许设置一次**,再如
|
||||
mutt有一些预先定义的action,即使在配置文件中没有进行指定,这些action在mutt
|
||||
启动之后也是有效的,还有就是可以用__宏__来自定义一些操作,此外,mutt可以定义地
|
||||
址列表和组,也支持直接保存发件人地址,而且提供了一系列的自动化的处理流程,
|
||||
即hook。所以,只要对需要使用mutt完成的操作有了解,那么就能通过采用mutt提供
|
||||
的这些功能来自由的组合和搭配,完成邮件的管理操作。
|
||||
|
||||
对于我自己来说,首先,我需要接收和处理多个邮箱的邮件,而且要能用这些邮箱分
|
||||
别发送和回复邮件,然后,考虑到我收发的邮件主要是中文邮件,因此中英文邮件不
|
||||
能有乱码,第三,我需要定义地址簿,第四,**要接收邮件列表**,第五,**要能接收rss**,
|
||||
第六,我习惯使用vi编辑器,邮件要按照主题和最后发送时间来排列。就这六条,对
|
||||
我来说应该基本够用,因此,加上界面设置,我一共将配置文件分为__六个部分__:
|
||||
a.通用设置
|
||||
b.宏定义
|
||||
c.邮件地址
|
||||
d.邮件列表
|
||||
e.电子邮件发送的定义
|
||||
f.界面设置
|
||||
|
||||
每个部分分别存成一个文件,然后用source命令包含进我的.muttrc文件中,这样,
|
||||
我的mutt配置文件内容就只有以下内容:
|
||||
|
||||
#通用
|
||||
source ~/.mutt/mu.general
|
||||
#宏
|
||||
source ~/.mutt/mu.macros
|
||||
#邮件地址
|
||||
source ~/mail/addressbook
|
||||
set alias_file=~/mail/addressbook
|
||||
#邮件列表
|
||||
source ~/.mutt/mlist
|
||||
#界面设置
|
||||
source ~/.mutt/mu.interface
|
||||
#邮件发送设置
|
||||
source ~/.mutt/mu.mls
|
||||
|
||||
其中,a.通用设置包括三个部分,首先是**邮箱文件**的设置,假定有
|
||||
realasking#mdbbs.org、realasking#hotmail.com和locahost三个邮箱(
|
||||
下文中出现的邮箱地址,均用#代替了@,真正在文件中设置时应该用@):
|
||||
|
||||
set mbox_type=Maildir
|
||||
set __folder__=$HOME/mail
|
||||
set spoolfile=~/mail/INBOX
|
||||
set header_cache=~/.hcache
|
||||
set mbox =__+__INBOX
|
||||
mailboxes "+INBOX"
|
||||
mailboxes "+realasking"
|
||||
mailboxes "+Hot"
|
||||
mailboxes "+localhost"
|
||||
只有用mailboxes添加的邮箱文件,才会**被mutt监控**,否则虽然可以用mutt读取邮件,
|
||||
但是却无法用其**监控新邮件**。
|
||||
|
||||
然后是本地化的设置,包括终端使用的编码,邮件编码,以及接收邮件的编码,并且
|
||||
解决编码中的乱码问题[1,2]:
|
||||
|
||||
set charset="UTF-8" #终端编码
|
||||
set send_charset="gb2312" #这里也可以设置为UTF-8
|
||||
set locale="zh_CN.UTF-8"
|
||||
set assumed_charset="gb2312" #对没有指明编码的邮件假设为gb2312
|
||||
charset-hook ^us-ascii$ gb2312 #这两行是对不正常的编码映射到gb2312
|
||||
charset-hook !UTF-8 gb2312
|
||||
set rfc2047_parameters=yes
|
||||
set copy=yes #这两行保存已经发送的邮件
|
||||
set record=~/mail/Sent
|
||||
set check_new=yes #检查新邮件
|
||||
auto_view text/html #自动阅读附件中的text/html
|
||||
set mime_forward_decode=yes
|
||||
|
||||
|
||||
第三部分是邮件的管理和编辑设置:
|
||||
|
||||
set editor="vim" #用vim作为默认编辑器
|
||||
set sort=threads #这两行是邮件排序方法
|
||||
set sort_aux=reverse-last-date-sent
|
||||
set pager_stop #这几行是邮件显示的方式,忘了从哪里抄过来的了
|
||||
set fast_reply
|
||||
set pager_index_lines=10
|
||||
set index_format="| %4C | %Z | %{%b %d} | %-15.15L | %s"
|
||||
set folder_format="| %2C | %t %N | %8s | %d | %f"
|
||||
#以下一行,用以让mutt显示回执相关的文件头,因为mutt默认是不支持邮件回执的
|
||||
#,所以它会隐藏这些信息,unignore的作用就是打开邮件头中被隐藏的相应的字段
|
||||
unignore disposition-notification-to return-receipt-to x-confirm-reading-to
|
||||
set header=no #回复邮件不加入原始邮件头
|
||||
|
||||
b.宏设置,宏设置是为了定义一连串的操作而存在的,可以用它来定义快捷键以调用
|
||||
外部的程序,或者mutt的相应功能,我的配置文件中这块比较简单,只有两句话,分
|
||||
别按G键调用fdm接收邮件,和按H键调用rss2email接收Rss:
|
||||
|
||||
macro index H "!r2e run"
|
||||
macro index G "!fdm -v fetch"
|
||||
|
||||
c.邮件地址簿,我定义为文件~/mail/addressbook,这是一个文本文件,其格式是:
|
||||
|
||||
alias 姓名 别名 <邮件地址>
|
||||
|
||||
然后一条一行往下排列即可,也应把权限设为600.
|
||||
|
||||
d.邮件列表,我定义为文件~/.mutt/mlist,这也是一个文本文件,格式是:
|
||||
|
||||
subscribe 邮件列表地址
|
||||
|
||||
e.电子邮件发送定义,这里,我定义为文件~/.mutt/mu.mls,其包括两个部分,第一
|
||||
部分是设置默认的发件和回邮的邮箱,第二个部分则是根据所进入的邮箱不同,自动
|
||||
source不同的设置,采用不同的邮箱来回复和发送邮件,这一部分大量使用hook,具
|
||||
体含义可以参考mutt的手册[3]。
|
||||
|
||||
其中第一部分是这样设置的:
|
||||
|
||||
#取消已有定义
|
||||
unmy_hdr from: #from是发送邮件的地址
|
||||
unmy_hdr Disposition-Notification-To: #这是回执请求的信息
|
||||
unmy_hdr X-Priority: #优先级的信息
|
||||
unmy_hdr reply-to: #回复到地址
|
||||
|
||||
send-hook . 'my_hdr from:realasking#mdbbs.org' #设置邮件头的发送邮件地址
|
||||
send-hook . 'my_hdr Disposition-Notification-To:realasking#mdbbs.org' #设置邮件回执请求
|
||||
send-hook . 'my_hdr X-Priority: 1' #设置邮件优先级为最高,优先级设置,1最高,3最低
|
||||
send-hook . 'set sendmail="/usr/bin/msmtp"' #这里使用msmtp发送邮件
|
||||
reply-hook . 'my_hdr reply-to:realasking#mdbbs.org'#这三行,是
|
||||
reply-hook . 'my_hdr Disposition-Notification-To:realasking#mdbbs.org'
|
||||
reply-hook . 'my_hdr X-Priority: 1'
|
||||
|
||||
第二部分是这样设置的:
|
||||
|
||||
folder-hook =realasking source ~/.mutt/realasking
|
||||
folder-hook =Hot source ~/.mutt/Hot
|
||||
|
||||
这里表示当用mutt进入邮箱realasking时,则自动读取配置文件~/.mutt/realasking,
|
||||
而进入Hot时,也类似,因此,用这种办法,就可以实现在不同的邮箱,用不同邮箱
|
||||
地址发信,下面是Hot文件中的设置:
|
||||
|
||||
unmy_hdr from:
|
||||
unmy_hdr Disposition-Notification-To:
|
||||
unmy_hdr X-Priority:
|
||||
unmy_hdr reply-to:
|
||||
send-hook . 'my_hdr from:realasking#hot.com'
|
||||
send-hook . 'my_hdr Disposition-Notification-To:realasking#hot.com'
|
||||
send-hook . 'my_hdr X-Priority: 1'
|
||||
send-hook . 'set sendmail="/usr/bin/msmtp -a Hot"'
|
||||
reply-hook . 'my_hdr reply-to:realasking#hot.com'
|
||||
reply-hook . 'my_hdr Disposition-Notification-To:realasking#hot.com'
|
||||
reply-hook . 'my_hdr X-Priority: 1'
|
||||
|
||||
对于请求回执和优先级设置,网上也有人提供了另一种方案,即直接在mutt里打补
|
||||
丁,而不需要向上面这样手动的写入邮件头定义,有兴趣的可以参考参考链接[4],
|
||||
而要想查看邮件头里写了些什么,在mutt中其实只需要按e键就可以看到。
|
||||
|
||||
另外,可以注意到,我这里每一封发出或者转发的邮件都要求已读提醒和高优先级,
|
||||
这样做也不是太合理,其实,如果要在需要时才设置这几个部分,只需要将它们设
|
||||
置为特定的宏即可,也不困难,同样的,也可实现发送邮件回执的功能。
|
||||
|
||||
f.也是最后一部分,是mutt的界面设置,用color命令即可,下面是几个例子,命令
|
||||
可以设置的内容和具体方法最好查询手册:
|
||||
|
||||
color normal blue black #mutt界面的主色调,黑底,蓝字
|
||||
color signature cyan black #签名档,黑底,青色
|
||||
color header brightred black ^Disposition-Notification-To:
|
||||
#请求回执高亮显示,黑底,红色
|
||||
color index red blue ~N #新邮件,蓝底,红色
|
||||
|
||||
配置完成之后,就可以用命令运行mutt了,启动mutt后,显示的最上面一行,提示
|
||||
的是常用的按键和对应的操作,最下面一行是提示的所在的邮箱文件和包括了多少
|
||||
邮件,中间就是收到的邮件,可以用方向键选择,按回车阅读。要写新邮件,则按
|
||||
m键,此时会提示To:,要求输入收件人地址,可以按Tab键从地址簿里选择,写完
|
||||
邮件并保存后,按y键可以发送邮件,而按a键添加附件;要接收邮件,则按G键,然
|
||||
后回车,接收之后按c键再选择邮箱以阅读邮件;如果要回复邮件,则是在阅读邮件
|
||||
或者选中邮件的状态按r键;如果要带附件转发邮件,稍微麻烦一点,我们需要按
|
||||
如下操作:
|
||||
打开邮件->按v->按t选择要转发的附件->按分号;和f键->按Tab键选择地址->修改
|
||||
->保存、发送
|
||||
|
||||
这就是mutt的基本使用方法,但是经过这样的配置,其实还不能发邮件和收rss,
|
||||
因为还需要配置msmtp和rss2email,本系列的下一篇帖子即讲述它们的简单用法。
|
||||
|
||||
参考链接:
|
||||
[1]http://www.kreny.com/docs/mutt.htm
|
||||
[2]http://hi.baidu.com/darkblueriver/blog/item/4368f50f10f3452e6059f350.html
|
||||
[3]http://www.mutt.org/#doc
|
||||
[4]http://www.mail-archive.com/mutt-dev@mutt.org/msg02399.html
|
||||
Reference in New Issue
Block a user