mutt設定郵件報警在linux上如何做?
在Linux裡,很多人都會使用到郵件報警,而且這方面的軟體也眾多,常見的像SendMail, sendEmail, Postfix等等,它們的優缺點我就不說了,使用上也各有所愛。今天我要給大家介紹的mutt,也許大家也不陌生,網上太多關於mutt和sendmail或者跟msmtp合作使用的教程。其實,mutt非常的強大隻要你仔細研究一下官方文件。
系統環境: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="[email protected]" #設定發件人地址
set realname="張三" #發件人姓名
set smtp_pass="999999" #密碼
set smtp_url="smtps://[email protected]: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 -- [email protected] < /root/1
說明
-s 郵件標題
-a 附件
– 後面跟上收件人資訊
< 後面是郵件正文內容,也可以在前面echo xxx的形式給出。如下:
echo xxx|mutt -s "Title使用" -a /usr/local/mutt/content.txt -- [email protected]
看吧,無需與其它軟體合作,mutt就可以獨立完成傳送郵件,當然,接收也沒問題,只是在郵件報警這個需求上用不著。
其中一個錯誤資訊:
[[email protected] mutt]# echo "Hello" | mutt -s "Title" -- [email protected]
TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256)
SMTP authentication requires SASL
Could not send the message.
這是認證失敗了。
傳送成功的資訊:
[[email protected] mutt]# echo "Hello3" | mutt -s "Title" -- [email protected]om
TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256)