博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python2 群发 html 或文本邮件
阅读量:5966 次
发布时间:2019-06-19

本文共 3414 字,大约阅读时间需要 11 分钟。

hot3.png

from email import MIMEMultipartfrom email import MIMETextfrom email import MIMEImagefrom email.utils import COMMASPACE, formatdatedef sendmailFunc(htmlContent, userMailList, title):    try:        if (len(htmlContent) < 1):            print "htmlContent is None!"            userMailList = defaultEmailList        #必须引用MIMEMultipart.MIMEMultipart,否则'LazyImporter' object is not callable        msg = MIMEMultipart.MIMEMultipart('alternative')        msg['Subject'] = (title).decode('utf-8')        #From 必须与login、sendmail一致,否则qq邮箱会判断为垃圾邮件。        msg['From'] = 'test@163.com'        msg['To'] = COMMASPACE.join(userMailList)        msg['Date'] = formatdate(localtime=True)        msg.attach(MIMEText.MIMEText(htmlContent, 'html', 'utf-8'))        smtp = smtplib.SMTP()        smtp.connect("smtp.exmail.qq.com", "25")        # 此处为公司web邮箱安全授权码,而非 oa 登录密码。        smtp.login('test@163.com', '安全授权码')        if len(msg.as_string()) > 0:            smtp.sendmail('test@163.com', userMailList, msg.as_string())        smtp.close()        print getNowTime() + " ------------>> mail send success..."    except Exception, e:        print getNowTime() + " -------- " + str(e)

 

————————————————————————————————————————————

#coding:utf-8from writeLog import *import urllib2import smtplibimport datetimeimport re, sysfrom email.MIMEMultipart import MIMEMultipartfrom email.MIMEText import MIMETextfrom email.MIMEImage import MIMEImagefrom email.Utils import COMMASPACE, formatdatereload(sys)sys.setdefaultencoding('utf-8')def sendMailHtml(title, date, logData, receviers):    msg = MIMEMultipart('alternative')    msg['Subject'] = (title + '【%s】' % date).decode('utf-8')    msg['From'] = 'noreply@ooxx.com'    msg['To'] = COMMASPACE.join(receviers)    msg['Date'] = formatdate(localtime=True)    msg.attach(MIMEText(logData, 'html', 'utf-8'))    smtp = smtplib.SMTP()    smtp.connect("smtp.exmail.qq.com", "25")    smtp.login('noreply@ooxx.com', 'passwd')    if (len(msg.as_string()) > 0):        smtp.sendmail('noreply@ooxx.com', receviers, msg.as_string())    smtp.close()def sendMailAtt(title, date, logData, receviers):    #创建一个带附件的实例    msg = MIMEMultipart()    #构造附件    att = MIMEText(logData, 'base64', 'utf-8')    att["Content-Type"] = 'application/octet-stream'    att["Content-Disposition"] = 'attachment; filename=' + infoLogName.split("/")[-1]    msg.attach(att)    #加邮件头    msg['Subject'] = (title + '【%s】' % date).decode('utf-8')    msg['From'] = 'noreply@ooxx.com'    msg['To'] = COMMASPACE.join(receviers)    msg['Date'] = formatdate(localtime=True)    #发送邮件    smtp = smtplib.SMTP()    smtp.connect("smtp.exmail.qq.com", "25")    smtp.login('noreply@ooxx.com', 'passwd')    if (len(msg.as_string()) > 0):        smtp.sendmail('noreply@ooxx.com', receviers, msg.as_string())    smtp.close()if __name__ == '__main__':    dateTime = datetime.date.today() - datetime.timedelta(days=0)    strDate = str(dateTime.strftime('%Y-%m-%d'))    print strDate    try:        receivers = ['username@ooxx.com']        logData = os.popen("sort -t$'\t' -k2n " + infoLogName).read()        sendMailAtt('你的邮件名 - ', strDate, logData, receivers)        errorLogger.info("------------>> send success...")    except Exception, e:        errorLogger.info("--------" + str(e))

 

 

Refer:

[1] Python 发送邮件可以添加附件

[2] TypeError: 'LazyImporter' object is not callable

[3] LazyImporter not callable

转载于:https://my.oschina.net/leejun2005/blog/61858

你可能感兴趣的文章
chgrp命令
查看>>
Java集合框架GS Collections具体解释
查看>>
洛谷 P2486 BZOJ 2243 [SDOI2011]染色
查看>>
数值积分中的辛普森方法及其误差估计
查看>>
Web service (一) 原理和项目开发实战
查看>>
跑带宽度多少合适_跑步机选购跑带要多宽,你的身体早就告诉你了
查看>>
深入理解Java的接口和抽象类
查看>>
Javascript异步数据的同步处理方法
查看>>
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
度量时间差
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
<气场>读书笔记
查看>>