1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python发送邮件脚本_python-发邮件脚本

python发送邮件脚本_python-发邮件脚本

时间:2019-04-21 19:46:57

相关推荐

python发送邮件脚本_python-发邮件脚本

折腾nagios发邮件好几天,终于完成,我的系统环境是ubuntu12.04,安装postfix服务,先贴上脚本,如下:

#!/usr/bin/env python

#-*- coding:utf-8 -*-

''' from: 改成你的邮箱地址 '''

import datetime,smtplib,string,sys

from email.Header import Header

from email.MIMEText import MIMEText

from email.MIMEMultipart import MIMEMultipart

def send_mail(to_addr):

if sys.argv[1] == "host":

text=string.join((

"******** 主机问题 ********\n\n",

"通知类型: %s\n\n" %sys.argv[2],

"主机名: %s\n\n" %sys.argv[3],

"IP地址: %s\n\n" %sys.argv[4],

"机器状态: %s\n\n" %sys.argv[5],

"日期: %s\n\n" %sys.argv[6],

"其他信息: %s\n\n" %sys.argv[7]),"\r\n")

else:

text=string.join((

"******** 进程/服务问题 ********\n\n",

"通知类型: %s\n\n" %sys.argv[1],

"服务名: %s\n\n" %sys.argv[2],

"主机名: %s\n\n" %sys.argv[3],

"IP地址: %s\n\n" %sys.argv[4],

"机器状态: %s\n\n" %sys.argv[5],

"日期: %s\n\n" %sys.argv[6],

"其他信息: %s\n\n" %sys.argv[7]),"\r\n")

msg = MIMEMultipart()

msg['to'] = to_addr

msg['from'] = 'xxx@'

msg['subject'] = Header('检测ssh端口结果(' + str(datetime.date.today()) + ')', 'utf-8')

text_msg = MIMEText(text,'plain','utf-8')

msg.attach(text_msg)

server = smtplib.SMTP('')

server.login('xxx@','xxxxxx')

server.sendmail(msg['from'],msg['to'],msg.as_string())

server.close()

if __name__ == '__main__':

addr_list=['xxx@','xxx@','xxx@']

for i in range(len(addr_list)):

send_mail(addr_list[i])

备注:

1、使用MIMEMultipart方法创建可以包含附件的MIME对象;

2、使用MIMEText方法创建邮件内容的对象;

3、使用smtplib.SMTP方法实现邮件系统的登录和发送邮件;

4、邮件内容从nagios自带的宏变量参数一一获取。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。