from time import strftime, localtime
from EmailSender import EmailSender
toAddress = ['[email]m1@qq.com[/email]','[email]m2@126.com[/email]']
authInfo = {}
authInfo['server'] = 'smtp.sina.com.cn'
authInfo['user'] = '****'
authInfo['password'] = '******'
def getContent():
# 读取数据
conn = pymssql.connect(host='(local)', user='sa', password='******', database='mydb')
rs = conn.cursor()
# 异常数据
sql = "select SPNumber,UserNumber,PhoneUserType,SchoolName,ClassName,MsgContent,SendTimes,State,ReportState,ReportErrorCode \
from mt \
where datediff(d, timestamp, getdate())=0 and (sendtimes=0 or state<>'9' or ReportState<>'0') \
order by id desc"
rs.execute(sql)
# 生成HTML
content = content + '<table width="100%" height="69" border="0" cellpadding="3" cellspacing="1" bgcolor="#999999">'
content = content + '<tr>'
content = content + '<td width="9%" height="29" align="center" bgcolor="#E0E0E0">端口号</td>'
content = content + '<td width="15%" align="center" bgcolor="#E0E0E0">接收人</td>'
content = content + '<td width="5%" align="center" bgcolor="#E0E0E0">单位</td>'
content = content + '<td width="5%" align="center" bgcolor="#E0E0E0">科室</td>'
content = content + '<td width="48%" align="center" bgcolor="#E0E0E0">短信内容</td>'
content = content + '<td width="7%" align="center" bgcolor="#E0E0E0">提交次数</td>'
content = content + '<td width="11%" align="center" bgcolor="#E0E0E0">状态</td>'
content = content + '</tr>'
userType = row[2]
schoolName = row[3]
className = row[4]
if not userType:
userType = ''
if not schoolName:
schoolName = ''
if not className:
className = ''
content = content + '<tr>'
content = content + '<td align="center" bgcolor="#FFFFFF">%s</td>' % row[0]
content = content + '<td align="center" bgcolor="#FFFFFF">%s%s</td>' % (row[1], userType)
content = content + '<td align="center" bgcolor="#FFFFFF">%s</td>' % schoolName
content = content + '<td align="center" bgcolor="#FFFFFF">%s</td>' % className
content = content + '<td align="center" bgcolor="#FFFFFF">%s</td>' % row[5]
content = content + '<td align="center" bgcolor="#FFFFFF">%s</td>' % row[6]
content = content + '<td align="center" bgcolor="#FFFFFF">%s</td>' % row[7]
content = content + '</tr>'
content = content + '</table>'
rs.close()
conn.close()
fromAdd = '****@sina.com'
subject = '短信平台%s日报告' % strftime("%Y-%m-%d", localtime())
plainText = ''
htmlText = getContent()
emailSender = EmailSender(authInfo, fromAdd)
if emailSender.send(toAddress, subject, plainText, htmlText) == 0:
main()
#coding=utf-8
import mimetypes
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
import smtplib
def __init__(self, authInfo, fromAddress):
self.AuthInfo = authInfo
self.FromAddress = fromAddress
def send(self, toAddr, subject, plainText, htmlText):
strFrom = self.FromAddress
user = self.AuthInfo.get('user')
passwd = self.AuthInfo.get('password')
print 'incomplete login info, exit now'
return 1
msgRoot = MIMEMultipart('related')
msgRoot['Subject'] = subject
msgRoot['From'] = strFrom
msgRoot['To'] = ','.join(toAddr)
msgRoot.preamble = 'This is a multi-part message in MIME format.'
# 'alternative' part, so message agents can decide which they want to display.
msgAlternative = MIMEMultipart('alternative')
msgRoot.attach(msgAlternative)
msgText = MIMEText(plainText, 'plain', 'gb2312')
msgAlternative.attach(msgText)
msgText = MIMEText(htmlText, 'html', 'gb2312')
msgAlternative.attach(msgText)
smtp = smtplib.SMTP()
#设定调试级别,依情况而定
smtp.set_debuglevel(1)
smtp.connect(server)
smtp.login(user, passwd)
smtp.sendmail(strFrom, toAddr, msgRoot.as_string())
smtp.quit()
return 0
3色波斯 2008-07-25
simeon2005 2007-12-29
simeon2005 2007-12-29
tearyrose 博主 2007-12-28
derik 2007-12-28