通過mutt使用gmail

來源:互聯網
上載者:User

Mutt是一個非常成熟的郵件用戶端(mailagent),而Gmail是我最喜歡的Web應用。Gmail被認為幾乎是無限的容量如果加上mutt便捷快速的處理能力就更加完美了。事實上使用Gmail處理郵件已經夠快了,你可以使用tag,可以使用它提供的非常強大的搜尋能力來加快郵件處理的速度。但是,對我來說還不夠快。一個主要原因是mailinglist,像[css-d],[ubunt-jp],[ubuntu-devel]等等,每天大概有幾百封郵件在飄來飄去,如果使用click-and-read的話,幾乎是根本讀不完的。於是,在半年前,我決定使用mutt。

“Mutt並不適合所有人,這包括那些並不能理解電子郵件基本概念的人,或者那些並不希望作更多配置的人。Mutt甚至不是為大多數’普通’使用者設計的,雖然,它當然也可以為他們很好的服務。對於那些僅僅需要一個’可以用’的郵件用戶端並不追求更高效能的使用者,也許其他郵件用戶端程式能適合他們。”

以上是mutt的作者說的,所以,也許您並不需要讀完這篇文章。本文也只是說明gmail+mutt,對於mutt+MSExchange(IMAP)並不適用,而後者是很多公司使用的電子郵件伺服器,如果您需要這個組合,可以再google一下互連網,那裡有很多相關的文章。
這個解決辦法是mutt+fetchmail+procmail+msmtp的一個綜合工具,所以配置起來稍微有些複雜。下面細細道來。

角色:

  • mutt————–mail client(MUA: Mail User Agent)
  • fetchmail———receiving(MRA: Mail Retrieval Agent)
  • procmail———-receiving(MDA: Mail Delivery Agent)
  • msmtp————-sending(MSA: Mail Sending Agent)

這裡沒有使用傳統的sendmail,想象一下在一台筆電上裝個伺服器也挺奇怪的。輕量級的procmail+msmtp就可以解決問題。

準備:
首先,開啟gmail的pop功能。下面是Google的官方手順。
http://mail.google.com/support/bin/answer.py?answer=13273

樣本使用者:
姓名:大頭阿當
郵件地址:datou.example@gmail.com
郵件秘密:datoupasswd
Linux的使用者名稱:datou

下載郵件:
是的,是下載。fetchmail可以把gmail郵箱中的郵件下載到本地機器的一個目錄中,mutt讀取這個目錄的內容並為使用者展示郵件內容。所以,使用mutt閱讀gmail郵件的第一步就是使用fetchmail下載郵件。而在此之前,必須想辦法串連到gmail的郵件伺服器。因為Goolge使用ssl做認證以增加安全性,所以,為了完成使用者認證,必須配置一個ssl的認證檔案。

配置SSL認證檔案:
$ mkdir -pv $HOME/mail/certs
$ cd $HOME/mail/certs
$ touch Thawte_Premium_Server_CA.pem
$ touch Equifax_Secure_CA.pem
從這裡和這裡下載這兩個檔案,儲存到上面touch的位置。
$ wget http://www.adamjiang.com/Thawte_Premium_Server_CA.pem
$ wget http://www.adamjiang.com/Equifax_Secure_CA.pem

重新整理你的ssl認證,告訴openssl你已經加入了新的認證檔案。
$ c_rehash $HOME/mail/certs
注意,這個認證檔案的有效期間直至google通知/警告你需要新的認證檔案為止。但是這個有效期間還是比較長的,所以暫時不用擔心。

配置fetchmail:
$ touch $HOME/.fetchmailrc
將下面的內容寫如這個檔案,注意把樣本使用者的資訊替換成你的資訊。
poll pop.gmail.com
with proto POP3
user 'datou.example@gmail.com'
there with password 'datoupasswd'
is 'datou' here
mda "/usr/bin/procmail -d %T"
options
no keep
ssl
sslcertck
sslcertpath /home/datou/mail/certs/

改變這個檔案的屬性。
$ chmod 600 ~/.fetchmailrc

配置procmail:
將下面的這句話加入你的$HOME/.bashrc,用來為所有的應用程式指明郵件的投遞點。
# Set the MAIL
export MAIL=/var/spool/mail/datou
提醒一下,把datou替換成你自己的Linux使用者名稱。
按照下面的例子,為procmail寫一個設定檔。
PATH=/bin:/usr/bin:/usr/local/bin
VERBOSE=off
DEFAULT=/var/spool/mail/datou
MAILDIR=$HOME/mail
LOGFILE=$HOME/.procmaillog
# Recipes below this comment:
:0:
* ^TOmutt-user
mutt
注意,你不是datou!

發送郵件:
$ touch $HOME/.msmtprc
仿照下面的例子,配置msmtp。
account default
host smtp.gmail.com
port 587
from datou.example@gmail.com
tls on
tls_starttls on
tls_trust_file /home/datou/mail/certs/Thawte_Premium_Server_CA.pem
auth on
user datou.example
password datoupasswd
logfile ~/.msmtp.log
注意datou搗亂。
為這個檔案配置正確的讀寫權限:
$ chmod 600 ~/.msmtprc

閱讀郵件:
$ touch ~/.muttrc
從這裡下載.mutt檔案,並將它儲存到上面touch的位置。
$wget http://www.adamjiang.com/_muttrc
$mv _muttrc $HOME/.muttrc

改變必要的部分,將下面的例子儲存成你自己的mutt設定檔。如果你是mutt初體驗,上面的例子應該足夠了。如果你需要更進一步的配置,閱讀一下mutt的manpage,或者訪問mutt的官方網站。

配置mutt的顏色:
還是一個例子;適用於深色背景的終端。將下面的內容儲存到你指定的color檔案,在上例中,這個檔案是’~/mutt/mutt_colors’。
color index blue black Motorola
color index brightyellow black Seasar
color index brightwhite brightgreen uclibc
color header brightyellow black subject
color hdrdefault brightwhite black
color quoted brightgreen black
color status white cyan
color indicator default green
color normal brightwhite black
Mutt的色彩配置事實上是下面的模式,所以,你可以根據自己的需要hightlight你的郵件。
color object foreground background regax
色彩 UI對象 前景色彩 背景色 Regex
比如上面例子中的第一行
color index blue black Motorola
就是在index中找到含有Motorola的郵件用藍色在黑色背景上高亮顯示。你可以改變自己關心的關鍵字和喜歡的顏色。

測試:
配置基本完成了,現在測試一下,看看datou 是不是影響你了。如果出錯了,請首先檢查一下大頭是不是真的影響到你了。
$ mutt
使用mutt命令進入mutt,這時候mutt會提醒你是否建立你自己的mail檔案夾,回答yes或者no。進入mutt之後,輸入:
!fetchmail -v
如果大頭沒有搗亂,你因該可以看到fetchmail在收郵件了。如果你的郵箱中有超過500封郵件,fetchmail可能不能一次將他們全部下載完,請注意這一點。但是這樣手動的方法是在太笨了,一點也看不出效率的提高。恩,是的,所以我們還需要安排一個cron任務——每5分鐘下載一次郵件,這樣基本保證你可以得到新的訊息。
$ crontab -e
這個命令將開啟一個新的編輯器,將下面這個行輸入,儲存退出。
*/5 * * * * /usr/bin/fetchmail
OK,mutt+gmail就配置完成了。當然,你需要一些時間適應一下mutt的操作,另外,查看mutt的文檔可以得到更多的協助。下面是一些簡單的命令:

? 查看協助 Enter 查看郵件 j 下一封 K 上一封 r 回複 d 刪除 u 刪除解除 v 查看附件

mutt在查看html郵件時需要調用elinks或者w3m,所以,這些程式在linux一般都已經準備好了。如果沒有,just install them.

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.