sendEmail腳本

1. media
  用戶配置下的media.
  Administration--->Users--->users(右側)or create user--->Mediat 添加郵件地址...(接收的郵件地址)
  2. Media types
  Administration---->Media types-----Create media type
    name: 名字
    type Script
    Script name : sendemail.sh
    enabled ()
    修改zabbix_server.conf
    在410行的地方:AlertScriptsPath=/etc/zabbix/alertscripts (腳本存放目錄路徑,你也可以修改成其他路徑,注意權限)
      這裏有2個腳本:
      第一個是zabbix調用的發送郵件的腳本. 他會調用第二個腳本去發送郵件.(Media types的script name:)
      第二個是perl 寫的sendemail專門用來通過smtp發送郵件的.
第一個腳本:  



[iyunv@zabbix ~]# cat /etc/zabbix/alertscripts/sendemail.sh  
#!/bin/bash
SMTP_server='smtp.qq.com'    # SMTP服務器
username='************'     # 用戶名
password='***********'             # 密碼
from_email_address='**********' # 發件人Email地址
to_email_address="$1"               # 收件人Email地址,zabbix傳入的第一個參數
message_subject_utf8="$2"           # 郵件標題,zabbix傳入的第二個參數
message_body_utf8="$3"              # 郵件內容,zabbix傳入的第三個參數
# 轉換郵件標題爲GB2312,解決郵件標題含有中文,收到郵件顯示亂碼的問題。
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_subject_utf8
EOF`
[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
# 轉換郵件內容爲GB2312
message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_body_utf8
EOF`
[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
# 發送郵件
sendEmail='/usr/bin/sendEmail'
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312
echo "`date +"%F %T"` send to $to_email_address" >> /tmp/send.log
  這個腳本解釋的很詳細我就不解釋了...
這裏的用戶名和密碼是發件人的,,這個是通過SMTP發送郵件,有些人可能不懂,就和outlook差不多。可以使用QQ,163任何一個提供了SMTP的郵箱公司郵箱也可以。要修改的就是smtp,用戶名,密碼,發件人的郵箱。。。。smtp可以去郵箱提供商獲取,或者百度。。。
  還有腳本要加權限
  chmod +x  sendemail.sh
  
  第二個腳本:http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz(不是sendmail,這個是perl 寫的一個使用smtp發送郵件的腳本)



wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvf sendEmail-v1.56.tar.gz
cd sendEmail-v1.56
cp sendEmail  /usr/bin/
chmod +x /usr/bin/sendEmail
  解壓: tar xvf sendEmail-v1.56.tar.gz 
  將裏邊的sendEmail 複製到/usr/bin/
  然後測試第一個腳本

/etc/zabbix/alertscripts/sendemail.sh [email protected] zabbixtest " this is zabbix test mail ! "
如果能收到說明這兩個腳本都沒問題

  3. Actions
  當觸發tiggers時發生的動作...這就是發送郵件的入口
  Configuration --> Actions --> Create action
023209q8nphpr82m8ac22b.png 
  懶得寫我直接就上圖了!
  name: 就是名字
Default subject : 郵件標題的格式
Default message: 郵件內容
Recovery message: 這個是當報警回覆正常發送郵件的內容. 這些變量都是系統定義好.你可以引用 也可以自己定義變量.
023210bnbe69psy9wc9eoe.png 
  這個是發送郵件的一些條件,這個好像自己改過,按自己的需求來
023210oolvrfoqv55q12l1.png 
  新建默認是沒有的 我們new 一個新的.
  From to 好像是發送次數.setp間隔時間
  operation type 是send message
  發送給用戶還是組.
  send only to : 裏遍選擇第2步的Media types 的名字
  先點上邊的Add 然後點下邊的Add
  這樣基本就完成了..

出處:http://www.iyunv.com/thread-111385-1-1.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章