转 mutt配置记述 传.docx

上传人:b****3 文档编号:5215694 上传时间:2022-12-14 格式:DOCX 页数:19 大小:23.47KB
下载 相关 举报
转 mutt配置记述 传.docx_第1页
第1页 / 共19页
转 mutt配置记述 传.docx_第2页
第2页 / 共19页
转 mutt配置记述 传.docx_第3页
第3页 / 共19页
转 mutt配置记述 传.docx_第4页
第4页 / 共19页
转 mutt配置记述 传.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

转 mutt配置记述 传.docx

《转 mutt配置记述 传.docx》由会员分享,可在线阅读,更多相关《转 mutt配置记述 传.docx(19页珍藏版)》请在冰豆网上搜索。

转 mutt配置记述 传.docx

转mutt配置记述传

【转】mutt配置记述(传)

【转】

mutt配置记述(传)

2011年01月05日星期三16:

40

转载自thelastgame

最终编辑thelastgame

mutt配置记述

配置mutt没有想像中的简单,所以要作好不断经历失败打击的心理准备。

对于想拥有一个能简单收发邮件的mutt的门外汉来说,至少得需要几个小时。

基本配置步骤

 

首先是安装必须的软件

sudoapt-getinstallmuttfetchmailprocmailmsmtp

mutt之后,在命令行输入mutt开启mutt界面,首先在界面的下方,提醒我们"$HOME/Mail不存在。

制造吗?

",有些像我一样急性子的人会

毫不犹豫的no。

然后开始寻找让mutt使用其它位置的目录作为信箱的办法。

但是我相信你将花费很多的精力浪费在错误的认识上。

原因是对mutt的误解,

我为此付出了2个小时的代价,要知道它不是传统意义上的邮件客户端。

信箱目录应该由负责接收邮件的程序控制,例如fetchmail。

mutt只负责管理

邮件,而不是收发邮件。

 

安装了邮件接收程序fetchmail和邮件分拣

程序procmail后,首先分别创建各自的配置文件$HOME/.fetchmailrc和$HOME/.procmailrc,这样为的是让我们能独

立使用fetchmail和procmail这两个程序通过pop接收并分拣邮件。

#$HOME/.fetchmailrc

poll\

protopop3\

uidl\

usernamezhangsan\

passwordpassword\

keep

#$HOME/.procmailrc

#用户邮箱目录的位置

MAILDIR="/sun/mails/"

#分拣日志保存的位置

LOGFILE="/var/log/procmail.log"

#邮件转换程序

FORMAIL=/usr/bin/formail#暂时未作任何分拣#所有经过分拣后的邮件都存储在$MAILDIR/default信箱中

:

0

*.*

default

这时我们使用fetchmail-akv-m"/usr/bin/procmail-d

%T"命令就可以把zhangsan在上的邮件通过pop下载到本地信箱/sun/mails/default文件中。

这里要

说明的是fetchmail的-a参数,此参数用于下载全部信件,如果不加此参数,fetchmail只会下载最新的信件,而不会重复下载已下载过的信

件。

已下载的信件由$HOME/.fetchids文件标识。

 

如果参考以

上设置,你已经可以正常的收到邮件,那就可以继续下面的配置。

否则请先解决遇到的问题。

下面我们继续配置邮件发送程序msmtp,配置文件比较简单易懂,

需要注意的是tls和auth这两行,为了满足SMTP服务器对邮件发送者必须通过SSL或TLS认证的要求,请确认配置文件中包含这些内容。

但是如果你

的SMTP服务器不需要认证,则去掉这两行。

#$HOME/.msmtprc

defaults

logfile/var/log/msmtp.logaccountcompany

host

fromzhangsan@

port25

userzhangsan

passwordpassword

tlson

authonaccountdefault:

company最后要配置的就是我们的主角mutt了,这里只是简要的配置,更复杂的配置留给读者自己。

一旦完成了mutt的配置,我们希望能立刻尝试用mutt发送邮件,所以借着以下示例立即创建一个属于你自己的$HOME/.muttrc文件吧。

#默认信箱目录

setfolder="/sun/mails/"

#已读的信箱

setmbox="+incoming"

#进入mutt后默认使用的信箱,可以考虑和$HOME/.procmailrc设置的默认信箱相同

setspoolfile="+default"

#不清楚

#setpostponed="+postponed"

#已发送的信箱

setrecord="+outgoing"#终端的编码

setcharset="UTF-8"

#外发邮件使用的编码

setsend_charset="UTF-8"

#用中文格式显示日期

setlocale="zh_CN.UTF-8"

#解决没有设置字符编码的信件显示为乱码的问题

charset-hook^us-ascii$GB18030

#解决主题为utf-8的信件标题显示为乱码的问题

charset-hook!

UTF-8GB18030

#解决未经过MIME编码的信件显示为乱码的问题

setstrict_mime=no

setassumed_charset="GB18030"

#解决中文附件名为乱码的问题

setrfc2047_parameters=yes#采用msmtp发送邮件

setsendmail="/usr/bin/msmtp"

#让mutt可以更好的阅读html邮件

auto_viewtext/html

配置好后,立刻启动mutt,按m,输入对方的邮件地址后回车,输入主题后回车,这时mutt会调用默认的编辑器vim,然后输入信件正文后保存退出,最后浏览并确认待发送邮件无误,按y即可完成发送。

愿意的话在y之前可以按a添加附件。

 

遭遇问题

以下是我配置过程中遇到的一些问题和解决方法。

问题1-邮件发不出去的问题

发送邮件时,MUTT显示以下错误信息:

0(null)

lisi@:

550relayingtoprohibitedbyadministrator^MConnectedtoMTA

Fromzhangsan@:

250issyntacticallycorrect^M

Tolisi@:

550relayingtoprohibitedbyadministrator^M

DisconnectedtoMTA

这表示张三所用的SMTP服务器需要认证,所以要修改邮件发送程序msmtp的配置文件,让他支持这种认证

确认在$HOME/.msmtprc文件中存在以下内容

tlson

authon

 

问题2-显示为乱码的问题

mutt主界面中有些邮件的发件人栏和主题栏的信息显示为乱码,有多种原因会导致这个问题,例如:

1.某些email客户端,没有设置字符编码

Mutt遇到这种没有设置charset的邮件就会使用"us-ascii",所以把"us-ascii"设置为"gb2312"(或gb18030)的别名,确认$HOME/.muttrc中存在以下内容

charset-hook^us-ascii$GB18030

2.evolution发过来的subject为utf-8编码的邮件标题乱码!

把不是utf-8的编码都映射到gb2312(或gb18030)。

确认$HOME/.muttrc中存在以下内容

charset-hook!

UTF-8GB18030

3.完全沒用MIME编码的信件!

查看这些邮件的信头,你找不到"MIME-Version"这样的内容。

确认在$HOME/.muttrc中存在以下内容

setstrict_mime=no

setassumed_charset="GB18030:

UTF-8"

 

问题3-修改你自己在对方邮箱界面发件人栏的名称

如果你希望你发的信件在对方邮箱界面的发件人栏中显示你的中文名,则确认$HOME/.muttrc中存在以下类似内容

setuse_from=yes

setfrom='张三'

 

问题4-邮件发不去出的问题

发送邮件时,MUTT显示以下错误信息:

msmtp:

cannotlocatehost:

Nameorservicenotknown

msmtp:

couldnotsendmail(accountdefaultfrom/sun/home/.msmtprc)

msmtp:

cannotlogto$MAIL/logs/msmtp.log:

cannotopen:

Nosuchfileordirectory

msmtp:

loginfowas:

host=tls=onauth=onuser=zhangsanfrom=zhangsan@

+recipients=zhangsan@errormsg='cannotlocatehost:

Nameorservicenotknown'

+exitcode=EX_NOHOST

表示系统在解析SMTP邮件服务器域名时失败。

为了杜绝此问题,可以把手工解析所得的IP地址添加到/etc/hosts文件

1.2.3.4

 

问题5-所收附件的中文名称为乱码的问题

由于大部分email客户端采用非标准的RFC2047格式作为附件名称的编码,而mutt采用标准的RFC2231对附件文件名进行编码。

解决办法是确认在$HOME/.muttrc中存在以下内容。

setrfc2047_parameters=yes

 

问题6-怎么标记邮件为已读

在mutt自带的帮助手册中,所有类似[ESC]r的快捷键实际上对应PC机上的[Alt]r。

选择一封邮件后按Alt+r即可标记此邮件为已读。

 

问题7-怎样按话题/线索方式显示邮件

mutt

默认按thread排序,所以不必作任何配置。

如果你发现你的mutt不能按话题/线索方式显示邮件了,有两个办法,一是在mutt界面中按o再按t,表

示恢复到按thread排序的方式;二是确认$HOME/.muttrc中没有把sort改为thread以外的其它值。

 

问题8-个别HTML邮件内容为乱码的问题

如果你在$HOME/.muttrc中添加了"auto_viewtext/html",那么可能有个别HTML格式的邮件存在乱码问题。

这种情况很可能发生在当你的编码环境是UTF-8,而那些HTML邮件的编码格式是gbk。

对于这种在mutt中显示为乱码,但在浏览器中却可以正常显示的问题,请确认在$HOME/.mailcap中存在以下内容,如没有此文件则手工创建。

text/html;\

w3m-Ttext/html-I%{charset}-dump%s;\

nametemplate=%s.html;\

copiousoutput问题9-搜索中文关键字时有某些邮件未能被检索到

具体说明请manmuttrc,解决办法是确认你的$HOME/.muttrc文件中存在以下内容。

setthorough_search=yes

 

更多自定义配置

 

GMail的tag

让procmail在分拣邮件时添加一个X-Label字段,此字段在mutt的index_format中可被识别。

#分拣公司的信件

:

0

*^From:

.*@

company#公司的svn提醒,加svn标签

:

0

*^From:

.*@

{

:

0Afhw

|$FORMAIL-I"X-Label:

svn":

0

company

}

注意:

0Afhw这行,中间有空格,A是大写。

需要说明的是,没有自定义index_format参数的mutt是无法看到所添加的tag的。

确认HOME/.muttrc中存在以下相似内容

setindex_format="%4C%Z%{%b%d}%-15.15L%?

M?

(#%02M)&(%4l)?

%?

y?

[%.20Y]?

%s"

其中%?

y?

[%.20Y]含义是,如果存在X-Label,就在[]中显示它的内容。

 

给tags添加不同颜色

确认在$HOME/.muttrc中存在以下类似内容

#$HOME/.muttrc

colorindexbrightyellowdefault"~h^X-Label"

美中不足的是未能对X-Label的内容作局部处理。

改变颜色后整行颜色都被改了。

 

手工添加tag

首先在这里下载一个脚本,保存并赋予可执行权限。

备份你的$HOME/.muttrc后修改,在其中添加以下内容:

#$HOME/.muttrc

#labels

macroindexy"seteditor=\"~/bin/editlabelappend\"\n\

\

seteditor=vim\n""Appendlabel"

macropagery"seteditor=\"~/bin/editlabelappend\"\n\\

seteditor=vim\n""Appendlabel"

macroindexY"seteditor=\"~/bin/editlabelmenu\"\n\

\

seteditor=vim\n""Editlabels"

macropagerY"seteditor=\"~/bin/editlabelmenu\"\n\

\seteditor=vim\n""Editlabels"

macroindex\Cy"~y""Limitviewtolabel"setindex_format="%4C%Z%{%b%d}%-15.15L%?

M?

(#%03M)&(%4l)?

%?

y?

(%.20Y)?

%s"

然后,创建一个$HOME/.labels文件,如果你想用其它名称或创建在其它位置,可以,但是请保证和刚下载的脚本中第7行的配置相同。

在该文件中添加若干标签,每个标签独占一行,保存退出即可。

sss

eee

xxx

配置到此结束。

打开mutt后选择一封信件,

添加标签:

按小写的y,然后输入与$HOME/.labels文件中任意一行内容相同的标签,回车,即可。

删除标签:

按大写的Y,然后选c(表示清除所有标签),回车,即可。

 

来信自动提醒

首先配置让fetchmail在后台运行,并且每600秒(10分钟)检查一次是否有新信件,确认在$HOME/.fetchmailrc文件中存在以下内容:

defaults

mda"/usr/bin/procmail-d%T"setdaemon600

需要说明的是:

必须保证以下内容

defaults

mda"/usr/bin/procmail-d%T"

存在于$HOME/.fetchmailrc的首部。

然后,根据不同系统自行创建一个启动脚本,让系统启动时自动执行

/usr/bin/fetchmail。

fetchmail会根据$HOME/.fetchmailrc文件,把自己转换为后台程序,并且每10分钟检查

一次邮件,在收到邮件后传递给procmail程序分拣。

Gnome下可用gnubiff,KDE环境下可用kbiff,因为区别不大,这里只说kbiff的简单设置,正常安装后启动kbiff,在Poll栏输入600,表示每十分钟检查一次本地信箱;在MailClient栏输入"konsolenohistnoxft-emutt",表示我们使用konsole中的mutt作为邮件客户端;切换到Mailbox标签页,添加所有你需要来信自动提醒的本地信箱。

保存退出即可。

要说明的是,kbiff需要配合邮件接收程序如fetchmail才能正常工作,fetchmail负责定时从服务器取回最新邮件并保存在本地信箱文件中,kbiff负责定时检查本地信箱文件并在必要时提醒。

 

只显示感兴趣的信头

mutt默认会显示所有信头,有些信头我们并不关心。

我们先隐藏所有信头,然后显式的列出我们感兴趣的信头。

确保$HOME/.muttrc中存在以下类似内容。

#whichtosee

ignore*

unignoreFrom:

unignoreTo

unignoreCc

unignoreSubject

unignoreX-Mailer

unignoreUser-Agent

unignoreDate

unignoreX-OS

unignoreX-Uptime#order

hdr_orderFrom:

To:

ccsubjectdatedelivery-datex-maileruser-agentx-send-tox-spam-levelx-mailinglistx-os使用通讯录

mutt支持通讯录,包括把发件人自动添加到通讯录,以及在撰写邮件时列出通讯录中的对象两项功能。

确认在$HOME/.muttrc中存在以下内容

#在mutt提示To:

时,按tab显示通讯录

source~/.abc.alias

#在mutt按a,把发件人添加到通讯录

setalias_file=~/.abc.alias自定义颜色

可用颜色包括:

white,black,green,magenta,blue,cyan,yellow,red,default。

确认在$HOME/.muttrc中存在以下类似内容

#自定义界面颜色

#----前景色背景色

#状态栏

colorstatusblackblue

#当前行

colorindicatorwhitedefault

#信头

colorhdrdefaultbluedefault

#附件

colorattachmentyellowdefault

#引用

colorquotedgreendefault

#邮件空白处

colortildewhitedefault

#线索

colortreecyandefault

#提示信息

colormessagewhitedefault

#签名

colorsignaturewhitedefault

#错误信息

colorerrorwhitered

#普通文件

colornormaldefaultdefault如何从多个邮件帐号发送邮件?

首先确认在邮件发送程序msmtp的配置文件中添加了多个邮件帐号,例如:

defaults

logfile/sun/mails/logs/msmtp.logaccountcompany

host

fromzhangsan@

port25

userzhangsan

passwordpassword

tlson

authonaccountbeta

host

fromlisi@

port587

userlisi@

passwordpssword

tlson

authonaccountdefault:

company

如后修改mutt的配置文件,确认$HOME/.muttrc存在类似以下内容

#实现从多个账户发送信件

setuse_from=yes

#此选项确保从真正的邮送域发送信件

setenvelope_from=yes

#默认使用的的邮送域

setfrom='张三'

macrogeneric"1"":

setfrom='张三'"

macrogeneric"2"":

setfrom='李四'"

配置完成后,进入mutt,默认情况下mutt使用张三发送邮件。

如果在按m撰写邮件之前,先按Alt+2,回车,然后再按m……,则此时发出的邮件便是从李四的帐号发出去的。

如果要改回从张三的帐号发送,请在m之前按Alt+1,回车。

需要说明的是,必须在按m之前通过Alt+1或2修改发送帐号。

完整的配置清单

以下是目前我用的配置文件,已经满足了日常收发邮件的要求,也基本覆盖了其它邮件客户端的常用功能。

如果懒人想直接拿去用,请把张三改成你自己,其中

代表你的邮件服务器的域名,如或。

其中请换成你用的

SMTP服务器信息。

其中请换成你用的POP服务器信息。

其中紧跟在password后面出现的password请换

成你的邮箱密码。

仅供各位参考。

$HOME/.muttrc

#setconfig_charset=UTF-8

#setsignature="iconv-fUTF-8~/.signature|"

#setlocale=`echo"${LC_ALL:

-${LC_TIME:

-${LANG}}}"`#建立信箱

setfolder="/sun/mails/"

#已读的信箱

setmbox="+incoming"

#进入mutt后默认使用的信箱,可以考虑和$HOME/.procmailrc设置的默认信箱相同

setspoolfile="+company"

#功能不明

#setpostponed="+postponed"

#已发送的信箱

setrecord="+outgoing"#我自己的邮箱

mailboxes"+incoming"

mailboxes"+outgoing"

mailboxes"+company"

mailboxes"+personal"

mailboxes"+debian"#邮件列表选项,按"r"会回信到别人的私人信箱,按"L"可以回复到邮件列表地址

subscribedesktop

subscribeteam.nj#终端的编码

setcharset="UTF-8"

#外发邮件使用的编码

setsend_charset="UTF-8"

#用中文格式显示日期

setlocale=`echo"${LC_ALL:

-${LC_TIME:

-${LANG}}}"`

#解决没有设置字符编码的信件显示为乱码的问题

charset-hook^us-ascii$GB2312

#解决主题为UTF-8的信件标题显示为乱码的问题

charset-hook!

UTF-8GB2312

#解决未经过MIME编码的信件显示为乱码的问题

setstrict_mime=no

setassumed_charset="GB2312"

#解决中文附件名为乱码的问题

setrfc2047_pa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1