Mutt是一套文字模式(text mode)的Mail Client,目前有許多優秀的GUI的Mail client,如thunderbird、evolution、Kmail ...等。但是Mutt節省資源,以及相當彈性化的結構,令我愛不釋手。
Mutt預設安裝沒有POP3、SMTP的功能,也沒有郵件編輯器。這些功能 Mutt都委由其他軟體。
本文預計用到的軟體有mutt 、fetchmail 、msmtp、gnupg,全部的套件可由Debian安裝,或者自行去網站下載Make安裝。
- 代碼: 選擇全部
root shell>apt-get install mutt fetchmail msmtp gnupg
==== SMTP ====
若主機有安裝MTA,如Sendmail 、Postfix、exim...等。Mutt 可以直接送給MTA,請MTA 幫忙送信。若主機沒有安裝如家中的電腦、四處帶著跑的Notebook,或者嫌安裝設定MTA麻煩的,可以安裝類似SMTP代理人如msmtp,使用msmtp幫Mutt送信到遠端的MTA。
==== POP3 ====
可以使用fetchmail,將遠端主機的郵件,收進本地端的 MailBox ,(/var/mail)。再使用Mutt來讀信。
==== 郵件編輯器 ====
Mutt使用環境變數$EDITOR,你可以使用你喜歡的編輯器來撰寫郵件,如vim ,Emacs。
在.bashrc設定
- 代碼: 選擇全部
export EDITOR = vim
=== Mutt 使用msmtp寄信設定 ===
Debian安裝msmtp,設定家目錄.msmtprc,可參考套件內附的設定檔(/usr/share/doc/msmtp/examples/msmtprc-user.example)
- 代碼: 選擇全部
# Example for a user configuration file
# Set default values for all following accounts.
defaults
tls on #Gmail TLS有打開
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log
# A freemail service
account gmail
host smtp.gmail.com
from yourid@gmail.com
auth on #Gmail SMTP要認證
user yourid
password secret
account default : gmail
這裡是使用Gmail ,免費的SMTP服務,不過前提是要有Gmail 帳號。
讓Mutt使用msmtp幫我們寄信,設定.muttrc。
- 代碼: 選擇全部
set sendmail="/usr/bin/msmtp"
set from=yourid@yourdomain.com #gmail SMTP會覆寫
寄信時有問題時,請去翻閱.msmtplog。比較清楚問題在哪?。
=== 設定Mutt 環境 ===
參考http://learn.tsinghua.edu.cn:8080/2001315450/mutt_frame.htmlMutt使用指南,適合zh_TW.UTF-8 .muttrc設定檔如下
編輯家目錄的.muttrc設定檔
- 代碼: 選擇全部
set strict_mime=no
set assumed_charset="big5:gb2312:utf-8"
set move=no
set indent_str="> "
set charset="UTF-8" #UTF-8終端機
set sort=date-received
set pager_index_lines=5
set locale="zh_TW.UTF-8" #顯示中文日期
auto_view text/html application/msword #遇到html 與doc 使用.mailcap處理
set sendmail="/usr/bin/msmtp" #使用msmtp幫我們寄信
.mailcap ,非mime編碼的可以使用其他程式幫忙開啟,相對應的程式就寫在
.mailcap。如Microsoft Doc檔案可以使用wvware套件,Debian直接安裝即可。
來幫忙把doc轉成html。再使用lynx 用mutt內嵌顯示。不過我試html可以內嵌顯示,doc檔要開啟附件才能在mutt看到wvHtml轉換過的html。真詭異,不像那篇的mutt指南可以直接在mutt下面的視窗看到Doc的內容。專門用來對付學校通知的Doc附件=.=
- 代碼: 選擇全部
text/html; lynx -display_charset=utf-8 --dump %s; nametemplate=%s.html; copiousoutput
application/msword; wvHtml --charset=utf-8 %s - |lynx -display_charset=utf-8 --dump -stdin |most;
nametemplate=%s.html; copiousoutput
text/html; lynx -display_charset=utf-8 --dump %s; nametemplate=%s.html; copiousoutput
most 若沒有安裝,可使用more or less代替 -stdin |most; 代替成-stdin |less
=== 使用fetchmail用POP收遠端信件放至本地Mailbox ===
收至本地Mailbox之後就能用Mutt來讀信了。
Debian安裝fetchmail,設定家目錄下的.fetchmailrc
- 代碼: 選擇全部
set postmaster "local_user_name"
set bouncemail
set no spambounce
set properties ""
poll remote_pop3_server_address with proto POP3
user 'server_user_name' there with password 'secret' is 'local_user_name' here
設定crontab ,每五分鐘去收一次信。
- 代碼: 選擇全部
~$crontab -e
- 代碼: 選擇全部
5 * * * * fetchmail
其實fetchmail不只是可以做這件事而已,還可以替我們將一個信箱的信件,全部轉寄到另外一個信箱,在本文中沒用到請讀者參閱其他相關的設定。
=== Reference ===
http://learn.tsinghua.edu.cn:8080/2001315450/mutt_frame.html Mutt使用指南
http://www.mutt.orgMutt WebSite,有豐富的Manual參考。
http://msmtp.sourceforge.net msmtp Website
http://www.catb.org/~esr/fetchmail/fetchmail Website