zabbix送信メールスクリプト(python shell)
pythonメール送信スクリプトを添付します(テストメールの送信に成功しなかった場合はdebugのエラーコードのヒントを見ることができます.例えば(554,DT:SPM)一般的に送信されたメールはスパムとウイルスメールと見なされ、送信内容を調整する必要があります):
shellを使用してmailxを使用してメールスクリプトを送信するには、dos 2 unixをインストールする必要があります.
mailコマンドを使用してメールを送信するには、/etc/mailの構成も必要です.rcファイル、最後にメールボックスサーバ情報を追加します.
#!/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