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@sina.com'
msg['subject'] = Header('檢測ssh端口結果(' + str(datetime.date.today()) + ')', 'utf-8')
text_msg = MIMEText(text,'plain','utf-8')
msg.attach(text_msg)
server = smtplib.SMTP('smtp.sina.com')
server.login('xxx@sina.com','xxxxxx')
server.sendmail(msg['from'],msg['to'],msg.as_string())
server.close()
if __name__ == '__main__':
addr_list=['xxx@139.com','xxx@blingstorm.com.cn','xxx@blingstorm.com.cn']
for i in range(len(addr_list)):
send_mail(addr_list[i])
備注:
1、使用MIMEMultipart方法創建可以包含附件的MIME對象;
2、使用MIMEText方法創建郵件內容的對象;
3、使用smtplib.SMTP方法實現郵件系統的登錄和發送郵件;
4、郵件內容從nagios自帶的宏變量參數一一獲取。
總結
以上是生活随笔為你收集整理的python发送邮件脚本_python-发邮件脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: y3是什么手机
- 下一篇: python工作不好找吗_如何更好的找到