<pre name="code" class="python">import os import ConfigParser import email import mimetypes from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText from email.mime.image import MIMEImage import smtplib from email.base64mime import encode as encode_base64 type = ["AccumulativeDefectTrend","WeeklyDefectTrend","QAWeeklyDefectTrend","RDWeeklyDefectTrend"] def parseimageFolder(folder): #print os.listdir(folder) return def sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText): global sal_version strFrom = fromAdd strTo = ','.join(toAdd) server = authInfo.get('server') user = authInfo.get('user') passwd = authInfo.get('password') if not (server and user and passwd) : print 'incomplete login info, exit now' return msgRoot = email.MIMEMultipart.MIMEMultipart('related') msgRoot['Subject'] = subject msgRoot['From'] = strFrom msgRoot['To'] = strTo msgRoot.preamble = 'This is a multi-part message in MIME format.' # Encapsulate the plain and HTML versions of the message body in an # 'alternative' part, so message agents can decide which they want to display. msgAlternative = MIMEMultipart('alternative') msgRoot.attach(msgAlternative) #text #msgText = MIMEText(plainText, 'plain', 'utf-8') #msgAlternative.attach(msgText) #HTML #msgText = email.MIMEText.MIMEText(htmlText, 'html', 'utf-8') #msgAlternative.attach(msgText) integer = 0 fp = open('SAL_regression_result_'+sal_version+'.txt', 'rb') msgText = MIMEText(fp.read()) fp.close() while integer < 1: msgAlternative.attach(msgText) # open image to send project_order = 0 #fp = open('C:\\temp\\' + type[integer] + '_' +project[project_order] + '.png', 'rb') att = MIMEText(open('SAL_regression_result_'+sal_version+'.txt', 'rb').read(), 'base64', 'gb2312') att['content-type'] = 'application/octet-stream' att['content-disposition'] = 'attachment;filename="SAL_regression_result_'+sal_version+'.txt"' #fp1 = open('C:\\temp\\' + '1.png', 'rb') #msgImage = MIMEImage(fp1.read()) #fp1.close() #msgImage.add_header('Content-ID', '<image'+ str(project_order) +'>') #msgRoot.attach(msgImage) msgRoot.attach(att) project_order = project_order +1 integer = integer +1 #send email #smtp = smtplib.SMTP_SSL(server,465) smtp = smtplib.SMTP() #smtp.set_debuglevel(1) smtp.connect(server) #smtp.login(user, passwd) #strTo=",".join(toAdd) smtp.sendmail(strFrom, toAdd, msgRoot.as_string()) smtp.quit() return if __name__ == '__main__' : cf = ConfigParser.ConfigParser() cf.read("version.cfg") version=cf.sections(); global sal_version sal_version= cf.get(version[0],'SAL_Engine') authInfo = {} #authInfo['server'] = 'cdcexcas.tw.trendnet.org' authInfo['server'] = '10.204.16.7' #authInfo['server'] = 'smtp.163.com' authInfo['user'] = ' ' authInfo['password'] = ' ' fromAdd = '' toAdd = [''] subject = 'SAL_regression_result' plainText = 'plain text' htmlText = '<B>BEP7.5 Detect Trend</B>' temp = "c:\\temp" #parseimageFolder(temp) sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText) print "send success"