zabbix送信メールスクリプト(python shell)


pythonメール送信スクリプトを添付します(テストメールの送信に成功しなかった場合はdebugのエラーコードのヒントを見ることができます.例えば(554,DT:SPM)一般的に送信されたメールはスパムとウイルスメールと見なされ、送信内容を調整する必要があります):
#!/usr/bin/python 
# -*- coding: utf-8 -*-

#python-version:2.7

from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib
import sys

def send_mail(_to_email,_subject,_message):
    from_addr = "[email protected]"
    password = "your_password"
    smtp_server = "smtp.163.com"
    msg = MIMEText(_message, 'plain', 'utf-8')
    msg['Subject'] = _subject
    server = smtplib.SMTP(smtp_server, 25)
    #   SSL    
    #server = smtplib.SMTP_SSL(smtp_host,994) 
    #            
    server.set_debuglevel(1)                  
    server.login(from_addr, password)
    server.sendmail(from_addr, [_to_email], msg.as_string())
    server.quit()
if __name__=='__main__':
    send_mail(sys.argv[1],sys.argv[2],sys.argv[3])

shellを使用してmailxを使用してメールスクリプトを送信するには、dos 2 unixをインストールする必要があります.
yum install mailx dos2unix -y
#!/bin/bash
to=$1
subject=$2
body=$3
echo "$body" >/tmp/zabbix_mail.log
dos2unix /tmp/zabbix_mail.log
mail -s "$subject" "$to"  > /tmp/zabbix_mail.log

mailコマンドを使用してメールを送信するには、/etc/mailの構成も必要です.rcファイル、最後にメールボックスサーバ情報を追加します.
set [email protected]
set smtp=smtp.126.com
set [email protected]
set smtp-auth-password=password
set smtp-auth=login