Linux系统中安装配置Mutt来作为Gmail客户端

mutt是一个Linux终端下的著名的邮件客户端,如你所愿,mutt就是一个邮件客户端。没有其他浮华的功能,它可以帮助你提升效率,至于帮助你装X只能算是mutt的特殊加成。
由于mutt是一个有着unix哲学的程序,可定制性很强,其高级功能可以由不同的程序来完成,比如以下搭配:
1.mutt
使用mutt内建的imap,pop,smtp支持,最简单的方式,只需要安装mutt这一个软件包。
2.mutt + msmtp
最简单的组合,配合imap协议,可以满足大多数人的要求
其中smtp功能由msmtp实现,你甚至可以把imap功能也由其他软件来实现
3.mutt + msmtp + getmail + procmail
稍微复杂一点的组合,mutt是客户端,msmtp作为mta,getmail用来收取邮件,procmail过滤邮件。
mta还可以使用exim4或者postfix替代,一般使用msmtp就够了,因为postfix实在是太好了,邮件服务器通常会选择postfix。
msmtp可以使用esmtp替代。
邮件收取功能也可以使用fetchmail替代getmail,由于需要本地mta投递,所以同时需要procmail。
procmail是一个功能及其强大的邮件过滤系统。ps:看到这句话,你就应该明白,我显然没有使用它。。。

Mutt 跟其它 email 程序有什么重大区别吗?
Mutt 是一个发源于 Unix 的邮件程序,它跟一般的 Windows 邮件程序不同,它不是一个包罗万象的大杂烩。你甚至会发现它根本不直接发出邮件,它从来不自己编辑邮件,它从来不自己对邮件进行加密和数字签名……
Mutt 更像一个文件管理器,只不过它管理的是email。它的功能是借助各个最强大的程序来实现的。这符合 UNIX 的设计思想。
当 Mutt 需要编辑邮件时,它有可能调用 vi, VIM, emacs, pico, ……等编辑器。
当 Mutt 需要发信时,它把需要发出的信件放到 sendmail 的队列里,就什么都不管了。
当需要数字签名时,Mutt 会把信件交给 GnuPG 之类的程序处理一下,然后再发出去。
怎么收邮件呢?Mutt 不会自己到 POP 服务器去取邮件,你需要一个 fetchmail 程序,帮你把 email 从 POP 服务器取回来,转发到自己的 sendmail 的邮箱里。这样看起来就是你的主机成为了一个完整的 UNIX 网络工作站。
是不是觉得挺麻烦?其实有些 patch 可以使 Mutt 不依赖于这些程序,而自己处理收发工作。但是,强烈建议你使用这些外部程序!到时候你就知道这些东西的好处了。首先,VIM, sendmail, fetchmail 这些程序都是经过千锤百炼的质量信得过的程序,用它们编辑,发送,收取邮件你绝对放心。其次,你得到了一个 UNIX 网络工作站的功能:
sendmail 不但可以帮 Mutt 发出邮件,也可以帮其它 Unix 程序比如 tin 发送邮件。如果你需要一个邮件服务器帮你中转,那么你只需要设置一次就可以使所有的用户的所有这样的程序都自动可以发送邮件,不用每个程序都去设置帐号了。
fetchmail 收到邮件之后会转发给本地的 sendmail. sendmail 如果允许 .forward, 你就可以在自己的目录里编辑一个.forward文件,信件可以自动被转发到其它地方或者经过一个过滤器过滤。你可以自己用perl等语言来写一个过滤器,它可以根据信件内容实现很多功能,比如自动回复等等。比如我就写了一个简单的过滤器,它可以记录所有发件人的地址,如果我把 helloooo 机器人连接到过滤器,恐怕你们就会收到可爱的 helloooo 的回信了 :)

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

1.安装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" >> /etc/portage/package.use # 设置msmtp的use flag
$ emerge -av mutt msmtp # 安装mutt和msmtp

2.配置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

3.配置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

4.配置mutt使用solarized配色方案

代码如下:

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

然后在~/.muttrc中修改相应配置。
大功告成,终端启动:

代码如下:

$ mutt

如无例外你将看到:

注意事项
Gmail启用了两步验证需要为mutt设置应用专用密码

(0)

相关推荐

  • 在Linux系统中安装配置性能监控软件Munin的教程

    munin是用于Linux系统(也可以监控windows系统)的监控软件.munin除了可以监控系统的各项数值之外,最大的好处是可以自己编写插件自定义监控需要的数值.整个系统的架构简单明了,操作方便. ...

  • 详解Linux系统中安装配置Samba服务器的步骤

    一.获取源代码包并进行解压 从samba的官方网站可以下载最新的samba源代码包.下面我们以samba-3.5.9.tar.gz的源代码包作为案例进行解析.本例中,我们将源代码包放在目录/home/ ...

  • Linux系统中安装使用ntfs-3g挂载NTFS分区的教程

    Linux系统中安装使用ntfs-3g挂载NTFS分区的教程.系统环境默认安装后,不能访问ntfs分区,在安装和配置ntfs-3g以后即可. 1.安装ntfs-3g 代码如下: apt-get -y ...

  • 在linux系统中安装JDK

    许多人都知道在Windows上安装JDK,在Linux系统中安装JDK总体步骤和Windows上差不多,主要是熟悉如何使用Linux系统以及Linux的常用命令,下面就介绍一下如何操作的具体步骤. 操 ...

  • Linux系统中网络配置检查方法

    相信很多小伙伴都有在使用Linux系统,那么在其中我们怎么去检查网络配置呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,打开电脑上的虚拟机软件,在终端处切换至student用户,并命令为 ...

  • 在Linux系统中安装varnish-cache配置及体验方法

    varnish-cache在linux系统中是一套高效能的反向网站快取服务器,这样的服务器很大的方便了电脑的使用,但是在电脑上要怎么的进行安装和体验呢!现在我们一起来看看吧! 主要理解下vcl 几个状 ...

  • 在Windows Server 2003系统中安装配置群集服务

    通过设置网络参数.创建群集用户账户并对服务器群集存储系统进行必要的配置,现在安装配置群集服务的条件基本成熟.在安装过程中,安装某些节点时将关闭其它节点,这将保证共享存储设备上的数据不会丢失或遭到破坏. ...

  • 全面讲解在Linux系统中安装和配置HAProxy的过程

    一.Haproxy概念 Haproxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.Haproxy特别适用于那些负载特大的web站点,这 ...

  • CentOS-6.3系统中安装配置Web服务器Nginx

    Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。nginx的并发能力确实在同类型的网页伺服器中表现较好.Nginx在一些Linux发行版和B ...