一、安裝配置msmtp
1.下載msmtp
wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.30.tar.bz2?big_mirror=0
2.解壓
tar -jxvf msmtp-1.4.30.tar.bz2
3. 進入msmtp目錄
cd msmtp-1.4.30
4. 編譯安裝
./configure –prefix=/usr/local/msmtp
make && make install
5. 配置msmtp帳號
切換到,cd /usr/local/msmtp
建立檔案夾etc,mkdir etc
使用vi建立檔案,輸入:vi /usr/local/msmtp/etc/msmtprc ,編輯內容如下:
# Set default values for all following accounts.
defaults
logfile /var/log/msmtp.log
# The SMTP server of the provider.
account service
# SMTP郵件伺服器地址
host smtp.qq.com
#連接埠
port 25
# 發送的郵件Email
from xxx@xxx.com
auth login
# 郵件伺服器登入帳號
user xxx@xxx.com
# 郵件伺服器登陸密碼
password 123456
# Set a default account
account default : service
儲存退出。
由於password是明碼,所以我們需要修改此檔案的許可權 chmod 600 etc/msmtprc
6 測試
/usr/local/msmtp/bin/msmtp youremail@test.com
輸入任一字元,然後按Ctrl+D退出,查看郵件是否收到。
由於設定了日誌,可以到 /var/log/msmtp.log ,查看日誌,發信成功失敗都會有記錄。
二、安裝配置mutt
1、安裝mutt
yum install mutt -y
2、編輯mutt設定檔
vi /etc/Muttrc ,編輯mutt的總設定,修改以下幾行
set sendmail="/usr/local/msmtp/bin/msmtp"
set from="noreply@XXX.net"
set use_from=yes
set realname=noreply@XXX.net
set editor="vi"
發件地址最好與msmtp設定的帳號相同,否則可能會出錯。下面以#開頭的操作可以不做.
# vi ~/.muttrc , 編輯根目錄下的設定
# set envelope_from=yes
# set from="發送郵件地址"
# set realname="寄件者"
# set use_from=yes
3、測試一下mutt是否有效
echo "測試測試" | mutt -s "測試" 測試郵件地址
echo "test" |mutt -s "my_first_test" XX@XXX.com
zabbix發送郵件指令碼路徑
/maichuang/zabbix/share/zabbix/alertscripts
#vi /usr/bin/sendalarmemail
vi /maichuang/zabbix/share/zabbix/alertscripts/sendalarmemail
添加
#!/bin/bash
echo "$3" | mutt -s "$2" $1
修改許可權
chmod a+x /maichuang/zabbix/share/zabbix/alertscripts/sendalarmemail
三、配置zabbix使用外部郵件伺服器發送警示郵件
1.進入Administration->Media types
<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KCjxwPjIu0MK9qE1lZGlhIHR5cGU8L3A+CjxwPiA8aW1nIHNyYz0="http://www.2cto.com/uploadfile/Collfiles/20140527/2014052709011636.png" alt="\">
配置如下,Script name 要與之前寫的發郵件的指令碼名字相同
3. 進入Configure->Actions
建立Action
可以修改預設的郵件內容,以下是我修改之後的郵件內容格式:
添加step,別忘了點Add按鈕,點上面的Add,再點下面的Add免得添加出錯,注意要選擇發送郵件給哪一個使用者;並選擇剛才定義好的Media type名字。
Default operation step duration 表示這次發送郵件後,下一次發郵件是在多少秒之後。
以上我總共添加了三次發送郵件的Action,如果觸發器出發了,一直沒有人確認觸發器,則會發三次郵件,添加完後結果如:
4.進入Administration->Users
為修改admin的登入密碼:
點擊Media再添加
Type選擇Send alarm email(之前建立的Action),並填寫接收的郵箱,
至此用指令碼實現用外部郵件伺服器發送警示郵件的配置至此結束。