歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Linux 下如何用 mutt 設置郵件報警

在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就可以獨立完成發送郵件,當然,接收也沒問題,只是在郵件報警這個需求上用不著。
其中一個錯誤信息:
[root@x63 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.

這是認證失敗了。
發送成功的信息:
[root@x63 mutt]# echo "Hello3" | mutt -s "Title" -- [email protected]
TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256)
Copyright © Linux教程網 All Rights Reserved