zhuntidaoren

转载自:http://blog.lishiming.net/?p=55

 

网上找的,原作者不详。这脚本用起来比linux系统自带的sendmail或者postfix强太多,无论是在shell告警脚本中引用,还是用于zabbix都非常好用。

可以在后面的地址下载源码  https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py

#!/usr/bin/env python
#-*- coding: UTF-8 -*-
import os,sys
reload(sys)
sys.setdefaultencoding(\'utf8\')
import getopt
import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from  subprocess import *

def sendqqmail(username,password,mailfrom,mailto,subject,content):
    gserver = \'smtp.qq.com\'
    gport = 25

    try:
        # msg = MIMEText(unicode(content).encode(\'utf-8\')) //如果发送的邮件有乱码,可以尝试把这行改成如下:
        msg = MIMEText(content,\'plan\',\'utf-8\') 
        msg[\'from\'] = mailfrom
        msg[\'to\'] = mailto
        msg[\'Reply-To\'] = mailfrom
        msg[\'Subject\'] = subject

        smtp = smtplib.SMTP(gserver, gport)
        smtp.set_debuglevel(0)
        smtp.ehlo()
        smtp.login(username,password)

        smtp.sendmail(mailfrom, mailto, msg.as_string())
        smtp.close()
    except Exception,err:
        print "Send mail failed. Error: %s" % err


def main():
    to=sys.argv[1]
    subject=sys.argv[2]
    content=sys.argv[3]
##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)
    sendqqmail(\'1234567@qq.com\',\'aaaaaaaaaa\',\'1234567@qq.com\',to,subject,content)

if __name__ == "__main__":
    main()
    
    
#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"

  

分类:

技术点:

相关文章:

  • 2021-11-24
  • 2021-12-07
  • 2021-12-22
  • 2022-02-27
  • 2021-08-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-24
  • 2021-07-20
  • 2021-10-21
  • 2021-07-13
  • 2021-12-02
  • 2021-09-21
  • 2021-12-26
相关资源
相似解决方案