系統內容:CentOS 6.5
0、在正式安裝mutt之前
先檢查一下兩個安全性群組件。
OPENSSL:
openssl version -a #檢查安裝及版本資訊
SASL(系統一般已經內建):
rpm -qa | grep sasl
查詢到如下即可:
cyrus-sasl-gssapi-2.1.23-15.el6_6.2.x86_64
cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64
cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64
cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64
cyrus-sasl-2.1.23-15.el6_6.2.x86_64
如果sasl沒有運行,先啟動:
/etc/init.d/saslauthd start
最好是加入到自啟動項目中去:
chkconfig saslauthd on
因為發送郵件的時候會需要用到安全認證。
1、安裝
官方網站上下載最新版本。
# 解壓後進入mutt目錄
cd /root/mutt-1.6.0
# 編譯:
./configure --prefix=/usr/local/mutt --enable-pop --enable-smtp --with-ssl --with-sasl
# 說明
--enable-pop 啟用pop
--enable-smtp 啟用smtp
--with-ssl --with-sasl 在啟用上述協議的情況下,必須使用更安全的加密
PS: 因為我用的測試帳號是QQ郵件,qq郵件使用smtp協議的時候要求必須使用ssl安全連線,而在mutt裡使用安全連線又必須使用sasl加密,所以上述2個安全性群組件在編譯安裝的時候得加上。要不然發送郵件的時候會出現“SMTP authentication requires SASL”或者另外一個跟ssl有關的錯誤。
# 安裝
make && make install
2、設定檔
方法1:
安裝好後,拷貝一份安裝目錄下/usr/local/mutt/etc/的設定檔Muttrc到/root/.muttrc,也可以直接修改設定檔,設定讀取的設定檔路徑到安全目錄,這樣就無需拷貝了。
預設設定:
set alias_file="~/.muttrc"
方法2:
cat /usr/local/mutt/etc/Muttrc | grep -v ^# | grep -v ^$ > ~/.muttrc
這樣都可以得到預設的設定檔資訊。
安裝完成後,我們僅需要設定的資訊如下:
set folder="./Mail" #設定本地的收件匣,如果不設定發送郵件的時候會提示
set from="123456789@qq.com" #設定寄件者地址
set realname="張三" #寄件者姓名
set smtp_pass="999999" #密碼
set smtp_url="smtps://123456789@smtp.qq.com:465/" #寄件者帳號和郵件主機資訊,QQ郵箱必須使用安全連線
set use_envelope_from=yes #使用自訂寄件者郵箱
set use_from=yes #使用自訂寄件者姓名
3、測試
mutt-1.6版本的發送郵件的文法跟1.4版本有些微的差別,具體命令如下:
mutt -s "Title使用" -a /usr/local/mutt/content.txt -- rep@shoujianren.com < /root/1
說明
-s 郵件標題
-a 附件
-- 後面跟上收件者資訊
< 後面是郵件內文內容,也可以在前面echo xxx的形式給出。如下:
echo xxx|mutt -s "Title使用" -a /usr/local/mutt/content.txt -- rep@shoujianren.com
看吧,無需與其它軟體合作,mutt就可以獨立完成發送郵件,當然,接收也沒問題,只是在郵件警示這個需求上用不著。
其中一個錯誤資訊:
[root@x63 mutt]# echo "Hello" | mutt -s "Title" -- xxx@xxxx.com
TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256)
SMTP authentication requires SASL
Could not send the message.
這是認證失敗了。
發送成功的資訊:
[root@x63 mutt]# echo "Hello3" | mutt -s "Title" -- xxx@xxxx.com
TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256)