0、在正式安裝Mutt之前
先檢查一下兩個安全組件。
OPENSSL:
openssl version -a #檢查安裝及版本信息
SASL(系統(tǒng)一般已經(jīng)自帶):
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
因為發(fā)送郵件的時候會需要用到安全認證。
1、安裝
官方網(wǎng)站上下載最新版本。
# 解壓后進入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 在啟用上述協(xié)議的情況下,必須使用更安全的加密
PS: 因為我用的測試帳號是QQ郵件,qq郵件使用smtp協(xié)議的時候要求必須使用ssl安全連接,而在mutt里使用安全連接又必須使用sasl加密,所以上述2個安全組件在編譯安裝的時候得加上。要不然發(fā)送郵件的時候會出現(xiàn)“SMTP authentication requires SASL”或者另外一個跟ssl有關的錯誤。
# 安裝
make make install
2、Mutt的基本用法
使用Mutt發(fā)郵件極其方便,是一個文字模式的郵件管理程序,提供了全屏幕的操作界面。只需要一條命令即可發(fā)送或者批量發(fā)送郵件:
mutt [-hnpRvxz][-a文件>][-b地址>][-c地址>][-f郵件文件>][-F配置文件>][-H郵件草稿>][-i文件>][-m類型>][-s主題>][郵件地址]
這里來詳細說一下參數(shù):
-a文件> 在郵件中加上附加文件。
-b地址> 指定密件副本的收信人地址。
-c地址> 指定副本的收信人地址。
-f郵件文件> 指定要載入的郵件文件。
-F配置文件> 指定mutt程序的設置文件,而不讀取預設的.muttrc文件。
-h 顯示幫助。
-H郵件草稿> 將指定的郵件草稿送出。
-i文件> 將指定文件插入郵件內(nèi)文中。
-m類型> 指定預設的郵件信箱類型。
-n 不要去讀取程序培植文件(/etc/Muttrc)。
-p 在mutt中編輯完郵件后,而不想將郵件立即送出,可將該郵件暫緩寄出。
-R 以只讀的方式開啟郵件文件。
-s主題> 指定郵件的主題。
-v 顯示mutt的版本信息以及當初編譯此文件時所給予的參數(shù)。
-x 模擬mailx的編輯方式。
-z 與-f參數(shù)一并使用時,若郵件文件中沒有郵件即不啟動mutt。
掌握了這些基本上就能基礎地使用Mutt,夠方便吧~接下來就要介紹本文的主題、使用其郵件警報功能:
3、配置郵件警報功能
方法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" #設置本地的收件箱,如果不設置發(fā)送郵件的時候會提示
set from="123456789@qq.com" #設置發(fā)件人地址
set realname="張三" #發(fā)件人姓名
set smtp_pass="999999" #密碼
set smtp_url="smtps://123456789@smtp.qq.com:465/" #發(fā)件人帳號和郵件主機信息,QQ郵箱必須使用安全連接
set use_envelope_from=yes #使用自定義發(fā)件人郵箱
set use_from=yes #使用自定義發(fā)件人姓名
4、測試
mutt-1.6版本的發(fā)送郵件的語法跟1.4版本有些微的差別,具體命令如下:
mutt -s "Title使用" -a /usr/local/mutt/content.txt -- rep@shoujianren.com /root/1
說明
-s 郵件標題
-a 附件
-- 后面跟上收件人信息
后面是郵件正文內(nèi)容,也可以在前面echo xxx的形式給出。如下:
echo xxx|mutt -s "Title使用" -a /usr/local/mutt/content.txt -- rep@shoujianren.com
看吧,無需與其它軟件合作,mutt就可以獨立完成發(fā)送郵件,當然,接收也沒問題,只是在郵件報警這個需求上用不著。
其中一個錯誤信息:
[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.
這是認證失敗了。
發(fā)送成功的信息:
[root@x63 mutt]# echo "Hello3" | mutt -s "Title" -- xxx@xxxx.com
TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256)