现在的位置: 首页 > 综合 > 正文

send email python

2014年09月05日 ⁄ 综合 ⁄ 共 2702字 ⁄ 字号 评论关闭
<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"

抱歉!评论已关闭.