使用mutt作为email客户端

南笙酒味 提交于 2019-12-07 11:31:54

All mail clients suck.This one just sucks less.

由于mutt是一个有着unix哲学的程序,可定制性很强,其高级功能可以由不同的程序来完成,比如以下搭配:

  • mutt 使用mutt内建的imap,pop,smtp支持,最简单的方式,只需要安装mutt这一个软件包。

  • mutt + msmtp 最简单的组合,配合imap协议,可以满足大多数人的要求 其中smtp功能由msmtp实现,你甚至可以把imap功能也由其他软件来实现

  • mutt + msmtp + getmail + procmail 稍微复杂一点的组合,mutt是客户端,msmtp作为mta,getmail用来收取邮件,procmail过滤邮件。 mta还可以使用exim4或者postfix替代,一般使用msmtp就够了,因为postfix实在是太好了,邮件服务器通常会选择postfix。 msmtp可以使用esmtp替代。 邮件收取功能也可以使用fetchmail替代getmail,由于需要本地mta投递,所以同时需要procmail。 procmail是一个功能及其强大的邮件过滤系统。ps:看到这句话,你就应该明白,我显然没有使用它。。。

由于Gmail服务器端垃圾邮件过滤已经做得很好了,而且我使用的是imap协议,所以不需要getmail去收取邮件,目前也没有必要自己再去配置procmail的过滤系统。 本文将对mutt + msmtp的配置进行说明

安装mutt和msmtp

一般发行版

mutt和msmtp已经包含在大多数发行版的软件源里,直接使用包管理器安装,其他发行版以此类推:

$ sudo apt-get insatll mutt msmtp    #适用于debian系
$ sudo yum insatll mutt msmtp    #适用于red hat系

Gentoo Linux下安装

$ echo "mail-client/mutt -berkdb gpg imap mbox nntp sasl sidebar slang smime smtp" >> /etc/portage/package.use    # 设置mutt的use flag
$ echo "mail-mta/msmtp sasl"    # 设置msmtp的use flag
$ emerge -av mutt msmtp    # 安装mutt和msmtp

配置mutt

创建并编辑~/.muttrc

把username替换为你的Gmail用户名,passwd替换为密码

# 设置发信地址和用户名
set from = "username@gmail.com"
set realname = "username"
set use_from = yes

# 设置Gmail帐户和密码
set imap_user = "username@gmail.com"
set imap_pass = "your password"

# 设置远程服务器文件夹
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
mailboxes = +INBOX
set postponed = "+[Gmail]/Drafts"

# 允许mutt自动创建一个新的imap连接
unset imap_passive

# imap连接保持时间
set imap_keepalive = 300

# 检查新邮件间隔时间
set mail_check = 120

# 本地缓存目录
set header_cache = ~/.mutt/cache/headers
set message_cachedir = ~/.mutt/cache/bodies

# 设置TLS验证
set certificate_file = /etc/ssl/certs/ca-certificates.crt

# 设置内建smtp,这里我们不使用
#set smtp_url = "smtps://username@gmail.com@smtp.gmail.com:465/"
#set smtp_pass = "your password"
#set ssl_starttls = yes

# 使用msmtp
set sendmail = "/usr/bin/msmtp"

# 不保存发送的邮件
unset record

# 回信不包含邮件头
set header = no

# 退出提醒
set quit = ask-yes

# 回信包含原文
set include

# 设置回信引文之前的插入符号
set indent_str = "> "

# 设置邮件头
my_hdr From: username@gmail.com

# 邮件打分
score "~N" +4
score "~s 通知" +2
score "~D" -5
score "~O" +1
score "~s believe" -10

# 排序方式
set sort = score

# 二级排序
set sort_aux = date

# 翻到最后一页不回到第一页
set pager_stop

# 快速回信
set fast_reply

# 删除邮件自动移动光标
set resolve = yes

# 设置编码,保持和终端一致
set charset = "utf-8"

# 发信使用的字符集
set send_charset = "us-ascii:iso-8859-1:gb18030:utf-8"

# 是否编辑邮件头
set edit_headers = no

# pager显示行数
set pager_index_lines = 4

# 告知mutt哪些是邮件列表
subscribe ustc_lug@googlegroups.com
subscribe shlug@googlegroups.com
subscribe gentoo-user@lists.gentoo.org

# 使用solarized配色方案
source ~/.mutt/mutt-colors-solarized/mutt-colors-solarized-dark-256.muttrc

编辑好后保存退出。

修改~/.muttrc的权限

$ chmod 700 ~/.muttrc

创建本地文件夹

$ mkdir -p ~/.mutt/cache

配置msmtp

创建或修改~/.msmtprc

# Accounts will inherit settings from this section
defaults
auth             on
tls              on
tls_trust_file   /usr/share/ca-certificates/mozilla/Thawte_Premium_Server_CA.crt
logfile ~/.mutt/msmtp.log

# Gmail account
account gmail
host smtp.gmail.com
port 465
from username@gmail.com
user username@gmail.com
password password
tls_starttls off
tls_trust_file /etc/ssl/certs/ca-certificates.crt

# set default account
account default : gmail

保存退出,并设置权限

$ chmod 600 ~/.msmtprc

配置mutt使用solarized配色方案

$ git clone https://github.com/altercation/mutt-colors-solarized.git ~/.mutt/mutt-colors-solarized

然后在~/.muttrc中修改相应配置

大功告成,终端启动

$ mutt

如无例外你将看到:

注意事项

  • Gmail启用了两步验证需要为mutt设置应用专用密码

参考网站

  1. 傻瓜式配置mutt|赖明星

  2. mutt使用指南-王垠

  3. 配置mutt做邮件客户端

  4. Mutt-ArchWiki

  5. Mutt-Gentoowiki

  6. Mutt中文手册

  7. 我的博客

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!