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

mutt是一個Linux終端下的著名的郵件客戶端,如你所愿,mutt就是一個郵件客戶端。沒有其他浮華的功能,它可以幫助你提升效率,至于幫助你裝X只能算是mutt的特殊加成。
由于mutt是一個有著unix哲學的程序,可定制性很強,其高級功能可以由不同的程序來完成,比如以下搭配:
1.mutt
使用mutt內(nèi)建的imap,pop,smtp支持,最簡單的方式,只需要安裝mutt這一個軟件包。
2.mutt + msmtp
最簡單的組合,配合imap協(xié)議,可以滿足大多數(shù)人的要求
其中smtp功能由msmtp實現(xiàn),你甚至可以把imap功能也由其他軟件來實現(xiàn)
3.mutt + msmtp + getmail + procmail
稍微復雜一點的組合,mutt是客戶端,msmtp作為mta,getmail用來收取郵件,procmail過濾郵件。
mta還可以使用exim4或者postfix替代,一般使用msmtp就夠了,因為postfix實在是太好了,郵件服務器通常會選擇postfix。
msmtp可以使用esmtp替代。
郵件收取功能也可以使用fetchmail替代getmail,由于需要本地mta投遞,所以同時需要procmail。
procmail是一個功能及其強大的郵件過濾系統(tǒng)。ps:看到這句話,你就應該明白,我顯然沒有使用它。。。
Mutt 跟其它 email 程序有什么重大區(qū)別嗎?
Mutt 是一個發(fā)源于 Unix 的郵件程序,它跟一般的 Windows 郵件程序不同,它不是一個包羅萬象的大雜燴。你甚至會發(fā)現(xiàn)它根本不直接發(fā)出郵件,它從來不自己編輯郵件,它從來不自己對郵件進行加密和數(shù)字簽名……
Mutt 更像一個文件管理器,只不過它管理的是email。它的功能是借助各個最強大的程序來實現(xiàn)的。這符合 UNIX 的設計思想。
當 Mutt 需要編輯郵件時,它有可能調(diào)用 vi, VIM, emacs, pico, ……等編輯器。
當 Mutt 需要發(fā)信時,它把需要發(fā)出的信件放到 sendmail 的隊列里,就什么都不管了。
當需要數(shù)字簽名時,Mutt 會把信件交給 GnuPG 之類的程序處理一下,然后再發(fā)出去。
怎么收郵件呢?Mutt 不會自己到 POP 服務器去取郵件,你需要一個 fetchmail 程序,幫你把 email 從 POP 服務器取回來,轉(zhuǎn)發(fā)到自己的 sendmail 的郵箱里。這樣看起來就是你的主機成為了一個完整的 UNIX 網(wǎng)絡工作站。
是不是覺得挺麻煩?其實有些 patch 可以使 Mutt 不依賴于這些程序,而自己處理收發(fā)工作。但是,強烈建議你使用這些外部程序!到時候你就知道這些東西的好處了。首先,VIM, sendmail, fetchmail 這些程序都是經(jīng)過千錘百煉的質(zhì)量信得過的程序,用它們編輯,發(fā)送,收取郵件你絕對放心。其次,你得到了一個 UNIX 網(wǎng)絡工作站的功能:
sendmail 不但可以幫 Mutt 發(fā)出郵件,也可以幫其它 Unix 程序比如 tin 發(fā)送郵件。如果你需要一個郵件服務器幫你中轉(zhuǎn),那么你只需要設置一次就可以使所有的用戶的所有這樣的程序都自動可以發(fā)送郵件,不用每個程序都去設置帳號了。
fetchmail 收到郵件之后會轉(zhuǎn)發(fā)給本地的 sendmail. sendmail 如果允許 .forward, 你就可以在自己的目錄里編輯一個.forward文件,信件可以自動被轉(zhuǎn)發(fā)到其它地方或者經(jīng)過一個過濾器過濾。你可以自己用perl等語言來寫一個過濾器,它可以根據(jù)信件內(nèi)容實現(xiàn)很多功能,比如自動回復等等。比如我就寫了一個簡單的過濾器,它可以記錄所有發(fā)件人的地址,如果我把 helloooo 機器人連接到過濾器,恐怕你們就會收到可愛的 helloooo 的回信了 :)
Mutt作為Gmail客戶端
由于Gmail服務器端垃圾郵件過濾已經(jīng)做得很好了,而且我使用的是imap協(xié)議,所以不需要getmail去收取郵件,目前也沒有必要自己再去配置procmail的過濾系統(tǒng)。
本文將對mutt + msmtp的配置進行說明。
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 # 設置mutt的use flag
$ echo "mail-mta/msmtp sasl" >> /etc/portage/package.use # 設置msmtp的use flag
$ emerge -av mutt msmtp # 安裝mutt和msmtp
2.配置mutt
創(chuàng)建并編輯~/.muttrc
把username替換為你的Gmail用戶名,passwd替換為密碼
# 設置發(fā)信地址和用戶名
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自動創(chuàng)建一個新的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
# 設置內(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
# 設置回信引文之前的加入符號
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"
# 發(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的權限
$ 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
保存退出,并設置權限
$ chmod 600 ~/.msmtprc
4.配置mutt使用solarized配色方案
$ git clone https://github.com/altercation/mutt-colors-solarized.git ~/.mutt/mutt-colors-solarized
然后在~/.muttrc中修改相應配置。
大功告成,終端啟動:
$ mutt
如無例外你將看到:

注意事項
Gmail啟用了兩步驗證需要為mutt設置應用專用密碼
相關文章
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)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細信息? 3招輕松查看CPU型號、核心數(shù)和溫度
在日常運維工作中,獲取 CPU 信息是系統(tǒng)運維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡化,優(yōu)化,現(xiàn)代化,實用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個win11裝機u盤,詳細如下2025-02-17Rsnapshot怎么用? 基于Rsync的強大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠程文件,接下來詳細介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時、每天、每周和每月的本地備份,以及如何進2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關的調(diào)用次數(shù),讓內(nèi)核在運行時表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預覽版發(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)化和改進,進一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細安裝指南2025-01-16