linux 下如何用 mutt 設定郵件報警
在linux裡,很多人都會使用到郵件報警,而且這方面的軟體也衆多,常見的像sendmail, sendemail, postfix等等,它們的優缺點我就不說了,使用上也各有所愛。
系統環境:centos 6.5
<a></a>
先檢查一下兩個安全元件。
openssl:
<code>openssl version -a #檢查安裝及版本資訊</code>
sasl(系統一般已經自帶):
<code>rpm -qa | grep sasl</code>
查詢到如下即可:
<code>cyrus-sasl-gssapi-2.1.23-15.el6_6.2.x86_64</code>
<code>cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64</code>
<code>cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64</code>
<code>cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64</code>
<code>cyrus-sasl-2.1.23-15.el6_6.2.x86_64</code>
如果sasl沒有運作,先啟動:
<code>/etc/init.d/saslauthd start</code>
最好是加入到自啟動項目中去:
<code>chkconfig saslauthd on</code>
因為發送郵件的時候會需要用到安全認證。
官方網站上下載下傳最新版本。
<code># 解壓後進入mutt目錄</code>
<code>cd /root/mutt-1.6.0</code>
<code></code>
<code># 編譯:</code>
<code>./configure --prefix=/usr/local/mutt --enable-pop --enable-smtp --with-ssl --with-sasl</code>
<code># 說明</code>
<code>--enable-pop 啟用pop</code>
<code>--enable-smtp 啟用smtp</code>
<code>--with-ssl --with-sasl 在啟用上述協定的情況下,必須使用更安全的加密</code>
ps: 因為我用的測試帳号是qq郵件,qq郵件使用smtp協定的時候要求必須使用ssl安全連接配接,而在mutt裡使用安全連接配接又必須使用sasl加密,是以上述2個安全元件在編譯安裝的時候得加上。要不然發送郵件的時候會出現“smtp authentication requires sasl”或者另外一個跟ssl有關的錯誤。
<code># 安裝</code>
<code>make && make install</code>
安裝好後,拷貝一份安裝目錄下/usr/local/mutt/etc/的配置檔案muttrc到/root/.muttrc,也可以直接修改配置檔案,設定讀取的配置檔案路徑到安全目錄,這樣就無需拷貝了。
預設設定:
<code>set alias_file="~/.muttrc"</code>
<code>cat /usr/local/mutt/etc/muttrc | grep -v ^# | grep -v ^$ > ~/.muttrc</code>
這樣都可以得到預設的配置檔案資訊。
安裝完成後,我們僅需要設定的資訊如下:
<code>set folder="./mail" #設定本地的收件箱,如果不設定發送郵件的時候會提示</code>
<code>set from="[email protected]" #設定發件人位址</code>
<code>set realname="張三" #發件人姓名</code>
<code>set smtp_pass="999999" #密碼</code>
<code>set smtp_url="smtps://[email protected]:465/" #發件人帳号和郵件主機資訊,qq郵箱必須使用安全連接配接</code>
<code>set use_envelope_from=yes #使用自定義發件人郵箱</code>
<code>set use_from=yes #使用自定義發件人姓名</code>
mutt-1.6版本的發送郵件的文法跟1.4版本有些微的差别,具體指令如下:
<code>mutt -s "title使用" -a /usr/local/mutt/content.txt -- [email protected] < /root/1</code>
說明
-s 郵件标題
-a 附件
-- 後面跟上收件人資訊
< 後面是郵件正文内容,也可以在前面echo xxx的形式給出。如下:
<code>echo xxx|mutt -s "title使用" -a /usr/local/mutt/content.txt -- [email protected]</code>
看吧,無需與其它軟體合作,mutt就可以獨立完成發送郵件,當然,接收也沒問題,隻是在郵件報警這個需求上用不着。
其中一個錯誤資訊:
<code>[root@x63 mutt]# echo "hello" | mutt -s "title" -- [email protected]</code>
<code>tlsv1.2 connection using tlsv1/sslv3 (aes256-sha256)</code>
<code>smtp authentication requires sasl</code>
<code>could not send the message.</code>
這是認證失敗了。
發送成功的資訊:
<code>[root@x63 mutt]# echo "hello3" | mutt -s "title" -- [email protected]</code>
本文來自雲栖社群合作夥伴“linux中國”
原文釋出時間為:2013-04-02.