Linux系統(tǒng)中安裝配置Mutt來作為Gmail客戶端

mutt是一個(gè)Linux終端下的著名的郵件客戶端,如你所愿,mutt就是一個(gè)郵件客戶端。沒有其他浮華的功能,它可以幫助你提升效率,至于幫助你裝X只能算是mutt的特殊加成。
由于mutt是一個(gè)有著unix哲學(xué)的程序,可定制性很強(qiáng),其高級(jí)功能可以由不同的程序來完成,比如以下搭配:
1.mutt
使用mutt內(nèi)建的imap,pop,smtp支持,最簡(jiǎn)單的方式,只需要安裝mutt這一個(gè)軟件包。
2.mutt + msmtp
最簡(jiǎn)單的組合,配合imap協(xié)議,可以滿足大多數(shù)人的要求
其中smtp功能由msmtp實(shí)現(xiàn),你甚至可以把imap功能也由其他軟件來實(shí)現(xiàn)
3.mutt + msmtp + getmail + procmail
稍微復(fù)雜一點(diǎn)的組合,mutt是客戶端,msmtp作為mta,getmail用來收取郵件,procmail過濾郵件。
mta還可以使用exim4或者postfix替代,一般使用msmtp就夠了,因?yàn)閜ostfix實(shí)在是太好了,郵件服務(wù)器通常會(huì)選擇postfix。
msmtp可以使用esmtp替代。
郵件收取功能也可以使用fetchmail替代getmail,由于需要本地mta投遞,所以同時(shí)需要procmail。
procmail是一個(gè)功能及其強(qiáng)大的郵件過濾系統(tǒng)。ps:看到這句話,你就應(yīng)該明白,我顯然沒有使用它。。。
Mutt 跟其它 email 程序有什么重大區(qū)別嗎?
Mutt 是一個(gè)發(fā)源于 Unix 的郵件程序,它跟一般的 Windows 郵件程序不同,它不是一個(gè)包羅萬象的大雜燴。你甚至?xí)l(fā)現(xiàn)它根本不直接發(fā)出郵件,它從來不自己編輯郵件,它從來不自己對(duì)郵件進(jìn)行加密和數(shù)字簽名……
Mutt 更像一個(gè)文件管理器,只不過它管理的是email。它的功能是借助各個(gè)最強(qiáng)大的程序來實(shí)現(xiàn)的。這符合 UNIX 的設(shè)計(jì)思想。
當(dāng) Mutt 需要編輯郵件時(shí),它有可能調(diào)用 vi, VIM, emacs, pico, ……等編輯器。
當(dāng) Mutt 需要發(fā)信時(shí),它把需要發(fā)出的信件放到 sendmail 的隊(duì)列里,就什么都不管了。
當(dāng)需要數(shù)字簽名時(shí),Mutt 會(huì)把信件交給 GnuPG 之類的程序處理一下,然后再發(fā)出去。
怎么收郵件呢?Mutt 不會(huì)自己到 POP 服務(wù)器去取郵件,你需要一個(gè) fetchmail 程序,幫你把 email 從 POP 服務(wù)器取回來,轉(zhuǎn)發(fā)到自己的 sendmail 的郵箱里。這樣看起來就是你的主機(jī)成為了一個(gè)完整的 UNIX 網(wǎng)絡(luò)工作站。
是不是覺得挺麻煩?其實(shí)有些 patch 可以使 Mutt 不依賴于這些程序,而自己處理收發(fā)工作。但是,強(qiáng)烈建議你使用這些外部程序!到時(shí)候你就知道這些東西的好處了。首先,VIM, sendmail, fetchmail 這些程序都是經(jīng)過千錘百煉的質(zhì)量信得過的程序,用它們編輯,發(fā)送,收取郵件你絕對(duì)放心。其次,你得到了一個(gè) UNIX 網(wǎng)絡(luò)工作站的功能:
sendmail 不但可以幫 Mutt 發(fā)出郵件,也可以幫其它 Unix 程序比如 tin 發(fā)送郵件。如果你需要一個(gè)郵件服務(wù)器幫你中轉(zhuǎn),那么你只需要設(shè)置一次就可以使所有的用戶的所有這樣的程序都自動(dòng)可以發(fā)送郵件,不用每個(gè)程序都去設(shè)置帳號(hào)了。
fetchmail 收到郵件之后會(huì)轉(zhuǎn)發(fā)給本地的 sendmail. sendmail 如果允許 .forward, 你就可以在自己的目錄里編輯一個(gè).forward文件,信件可以自動(dòng)被轉(zhuǎn)發(fā)到其它地方或者經(jīng)過一個(gè)過濾器過濾。你可以自己用perl等語言來寫一個(gè)過濾器,它可以根據(jù)信件內(nèi)容實(shí)現(xiàn)很多功能,比如自動(dòng)回復(fù)等等。比如我就寫了一個(gè)簡(jiǎn)單的過濾器,它可以記錄所有發(fā)件人的地址,如果我把 helloooo 機(jī)器人連接到過濾器,恐怕你們就會(huì)收到可愛的 helloooo 的回信了 :)
Mutt作為Gmail客戶端
由于Gmail服務(wù)器端垃圾郵件過濾已經(jīng)做得很好了,而且我使用的是imap協(xié)議,所以不需要getmail去收取郵件,目前也沒有必要自己再去配置procmail的過濾系統(tǒng)。
本文將對(duì)mutt + msmtp的配置進(jìn)行說明。
1.安裝mutt和msmtp
一般發(fā)行版
mutt和msmtp已經(jīng)包含在大多數(shù)發(fā)行版的軟件源里,直接使用包管理器安裝,其他發(fā)行版以此類推:
$ 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 # 設(shè)置mutt的use flag
$ echo "mail-mta/msmtp sasl" >> /etc/portage/package.use # 設(shè)置msmtp的use flag
$ emerge -av mutt msmtp # 安裝mutt和msmtp
2.配置mutt
創(chuàng)建并編輯~/.muttrc
把username替換為你的Gmail用戶名,passwd替換為密碼
# 設(shè)置發(fā)信地址和用戶名
set from = "username@gmail.com"
set realname = "username"
set use_from = yes
# 設(shè)置Gmail帳戶和密碼
set imap_user = "username@gmail.com"
set imap_pass = "your password"
# 設(shè)置遠(yuǎn)程服務(wù)器文件夾
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
mailboxes = +INBOX
set postponed = "+[Gmail]/Drafts"
# 允許mutt自動(dòng)創(chuàng)建一個(gè)新的imap連接
unset imap_passive
# imap連接保持時(shí)間
set imap_keepalive = 300
# 檢查新郵件間隔時(shí)間
set mail_check = 120
# 本地緩存目錄
set header_cache = ~/.mutt/cache/headers
set message_cachedir = ~/.mutt/cache/bodies
# 設(shè)置TLS驗(yàn)證
set certificate_file = /etc/ssl/certs/ca-certificates.crt
# 設(shè)置內(nèi)建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"
# 不保存發(fā)送的郵件
unset record
# 回信不包含郵件頭
set header = no
# 退出提醒
set quit = ask-yes
# 回信包含原文
set include
# 設(shè)置回信引文之前的加入符號(hào)
set indent_str = "> "
# 設(shè)置郵件頭
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
# 二級(jí)排序
set sort_aux = date
# 翻到最后一頁(yè)不回到第一頁(yè)
set pager_stop
# 快速回信
set fast_reply
# 刪除郵件自動(dòng)移動(dòng)光標(biāo)
set resolve = yes
# 設(shè)置編碼,保持和終端一致
set charset = "utf-8"
# 發(fā)信使用的字符集
set send_charset = "us-ascii:iso-8859-1:gb18030:utf-8"
# 是否編輯郵件頭
set edit_headers = no
# pager顯示行數(shù)
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的權(quán)限
$ chmod 700 ~/.muttrc
創(chuàng)建本地文件夾
$ mkdir -p ~/.mutt/cache
3.配置msmtp
創(chuàng)建或修改~/.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
保存退出,并設(shè)置權(quán)限
$ chmod 600 ~/.msmtprc
4.配置mutt使用solarized配色方案
$ git clone https://github.com/altercation/mutt-colors-solarized.git ~/.mutt/mutt-colors-solarized
然后在~/.muttrc中修改相應(yīng)配置。
大功告成,終端啟動(dòng):
$ mutt
如無例外你將看到:

注意事項(xiàng)
Gmail啟用了兩步驗(yàn)證需要為mutt設(shè)置應(yīng)用專用密碼
相關(guān)文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對(duì)于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細(xì)信息? 3招輕松查看CPU型號(hào)、核心數(shù)和溫度
在日常運(yùn)維工作中,獲取 CPU 信息是系統(tǒng)運(yùn)維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級(jí)還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨(dú)樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡(jiǎn)化,優(yōu)化,現(xiàn)代化,實(shí)用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡(jiǎn)要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機(jī)U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個(gè)win11裝機(jī)u盤,詳細(xì)如下2025-02-17Rsnapshot怎么用? 基于Rsync的強(qiáng)大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠(yuǎn)程文件,接下來詳細(xì)介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時(shí)、每天、每周和每月的本地備份,以及如何進(jìn)2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡(jiǎn)化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關(guān)的調(diào)用次數(shù),讓內(nèi)核在運(yùn)行時(shí)表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領(lǐng)創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預(yù)覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進(jìn),進(jìn)一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領(lǐng)域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細(xì)安裝指南2025-01-16