还是在邮件列表里学到的,今天折腾了一下,好在找到一片不错的文章照着配置了一下。

http://home.ustc.edu.cn/~lixuebai/GNU/MuttConfig.html

我用的组合也是mutt+msmtp+getmail+procmail,显示html邮件用的w3m。

安装都是apt-get安装,开始我用源码安装,进去界面都是乱码的也没找原因,直接删掉重新安装了一下。

创建了~/mail目录,下面inbox,postponed,sent,配置文件没有就创建。

复制一下配置文件

~/.muttrc

#编辑器
set editor="vim"

#邮件发送
set sendmail="/usr/bin/msmtp"

#信箱
set folder="~/mail"
set mbox="~/mail/inbox"
set spoolfile="~/mail/postponed"
set record="~/mail/send"

# 让mutt监视下面几个邮箱,并随时报告新邮件
mailboxes "=inbox"
mailboxes "=Gmail"

#指定你有那些信箱文件。当你按 "c" 切换信箱时,再按 Tab 键,这些信箱就可供你选择
mailboxes Mailbox sent-mail

#显示html
auto_view text/html

set check_new = yes
set timeout = 600

#这是一个格式字符串,用来控制你的index的列表显示。它的缺省定义是
set index_format="%4C %Z %{%b %d} %-15.15L (%4l) %s"
#这是一个 bool 型变量。它表明你在回信时引用原文是否加入原文的邮件头。
set header=no
#可以设置为 yes, no, ask-yes, 或者 ask-no. 这是说,当你按q退出时,是否提示你(ask-yes,ask-no),
#还是直接就退出了(yes),还是根本不理你(no)。
set quit=ask-yes
#这也是一个提示性变量。它是确定当你退出时,是否提示你把信件从 spool 移动到的 mbox 文件。
set move=no
#当 Mutt 用 thread 方式显示时,是否用纯 ascii 表示树状列表。
set ascii_chars=yes
#回信时是否包含原文。
set include
#回信的引文之前插入那个符号?
set indent_str="> "
#设置你自己的邮件头。
#my_hdr From: xxx@mail.ustc.edu.cn
#打分
#新信件+4分,主题包含“通知”的+2,主题包含 “Circulation” +3, 已经标记删除的 -5,上次没有读的 +1,包含 “believe”的 -10(垃圾广告!)。
score "~N" +4
#score "~s 通知" +2
#score "~s Circulation" +3
score "~D" -5
score "~O" +3
#score "~s believe" -10

#排序方式。
set sort=score
#当用 thread 排序方式时,我们对各个 thread 的相对排序顺序。
set sort_aux=date
#如果翻到最后,再按往下翻也不会翻到下一封信件
set pager_stop
#如果设置,当你按 "r" 回信时,就不会再提示你输入回信地址和主题,直接进入编辑模式。
set fast_reply
#当你按 "t" 或者 "D" 之类的标记操作时,是否自动把光标移动到下一封信件。
set resolve=yes
#地址簿
#source ~/.mutt.alias
#当你在 index 里按 "a" 为来信者取别名时,使用哪一个别名文件保存这个别名。
#set alias_file=~/.mutt.alias
#你发出的邮件保存到那个信箱文件?比如可以像我这样每个月发出的信件放在不同的文件里。
set record="~/mail/=sent-mail-`date +%Y-%m`"
#你的终端支持哪一种编码的显示?这个必须和你的终端编码一样。推荐用utf8
set charset="utf-8"
#send_charset
set send_charset="utf-8"
#外部程序退出时,是否要求用户按一个键才返回。这在察看某些shell命令输出时是比要的,
#否则它们一下就消失了。
set wait_key=yes
#当你要把信件存到另一个信箱,而这个信箱已经存在时,是否提示附加?
set noconfirmappend
#是否把邮件头也放在编辑器里可以修改?
set edit_headers=no
#当你在用 pager 看信件时,在 index 留出多少行显示邮件列表?
set pager_index_lines=4
#告诉 Mutt 你已经订阅了那些邮件列表(mailing-list).
#subscribe fvwm@fvwm.org

#mutt显示日期为中文
set locale="zh_CN"
#有些没有设置字符编码时
#charset-hook ^us-ascii$ utf-8
#Chinaren 等服务器发出来的信件使用了 quoted-printable 的 subject,
#而且设置编码为 "iso8859-1",这显然是错误的。
#对付这个错误的办法是把 iso-8859-1 变成 gb2312 的别名
#charset-hook ^iso-8859-1$ gb2312
# evolution 发过来的 subject 为 utf-8 编码的邮件标题乱码!
#那就把不是 utf-8 的编码都映射到 gb2312
#charset-hook !utf-8 gb2312
charset-hook ^gb2312$ gb18030

# mutt进行pop3收信,当然之前要查看$ mutt -v 编辑情况的确编辑了pop3了。
# 以后进入mutt按G就可以收信了。
#set pop_user=xxx@mail.ustc.edu.cn
#set pop_pass="xxxxxx"
#set pop_host=202.38.64.8
#现在不用mutt直接收信了。

#把mutt发送的from域作为sendmail发送邮件的sender(否则会用user@localdomian)
set envelope_from=yes

macro index G "!getmail\n" "Invoke getmail"
macro pager G "!getmail\n" "Invoke getmail"


 

~/.mailcap

text/html; w3m -o document_charse=%{charset} %s; nametemplate=%s.html
text/html; w3m -dump -o document_charse=%{charset} %s; nametemplate=%s.html; copiousoutput

 

~/.msmtprc

account default
host smtp.gmail.com
port 587
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
from your@gmail.com
auth on
user your@gmail.com
password pass
logfile ~/.getmail/msmtp.log

chmod 600 .msmtprc

~/.getmail/getmailrc
[options]
verbose = 1
read_all = false
message_log = ~/.getmail/log

[retriever]
type = SimplePOP3SSLRetriever
server = pop.gmail.com
username = shanqiuchant@gmail.com
port = 995
password = 370asd285jp##%%**

[destination]
type = MDA_external
path = /usr/bin/procmail
unixfrom = true


 

使用crontab定时自动收信

$ crontab -e

每隔10分钟收一次信,只收未读的信件。
0,10,20,30,40,50 * * * * getmail -n

~/.procmailrc
PATH=/bin:/sbin:/usr/bin:/usr/sbin
SHELL=/bin/bash
MAILDIR=$HOME/mail
DEFAULT=$MAILDIR/inbox
LOGFILE=$MAILDIR/.procmaillog

:0
* ^From.*@gmail.com
Gmail

:0 #最后的这个配置就是指如果上面分类剩下的信件全扔到inbox里
* .* inbox

# 黑名单(垃圾邮件)
:0:
* ^From.*badguy
/dev/null


 

 

可以用msmtp anoth_email@gmail.com
这里随便输入一些内容,然后按下Ctrl-d组合键来结束,来测试是否能发送成功。

照着配置了一下还没使用,要使用还需要很多人性化的设置。

上一篇:
下一篇:

相关文章:

Categories: 博客记录

0 Responses so far.

Leave a Reply