#由于今年要开展邮件测试,所以研究一下邮件的东东,顺便学习一下python,始终认为解释性语言是自动化测试的利器,
但是由于一般脚本语言都存在面向对象不易的缺陷,不容易在大的项目中使用,根据初步学习python具备良好的面向对象特性,
而且根据学习,发现这门语言的确相当好玩,很吸引我,特抄录了一段代码验证了一下,测试通过,发帖如下。
import email
import mimetypes
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
import smtplib
import mimetypes
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
import smtplib
def sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText):
strFrom = fromAdd
strTo = ', '.join(toAdd)
strTo = ', '.join(toAdd)
server = authInfo.get('server')
user = authInfo.get('user')
passwd = authInfo.get('password')
user = authInfo.get('user')
passwd = authInfo.get('password')
if not (server and user and passwd) :
print 'incomplete login info, exit now'
return
print 'incomplete login info, exit now'
return
# 设定root信息
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.'
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)
# 'alternative' part, so message agents can decide which they want to display.
msgAlternative = MIMEMultipart('alternative')
msgRoot.attach(msgAlternative)
#设定纯文本信息
# msgText = MIMEText(plainText, 'plain', 'utf-8')
# msgAlternative.attach(msgText)
# msgText = MIMEText(plainText, 'plain', 'utf-8')
# msgAlternative.attach(msgText)
#设定HTML信息
msgText = email.MIMEText.MIMEText(htmlText, 'html', 'utf-8')
msgAlternative.attach(msgText)
msgText = email.MIMEText.MIMEText(htmlText, 'html', 'utf-8')
msgAlternative.attach(msgText)
#设定内置图片信息
# fp = open('test.jpg', 'rb')
# msgImage = MIMEImage(fp.read())
# fp.close()
# msgImage.add_header('Content-ID', '<image1>')
# msgRoot.attach(msgImage)
# fp = open('test.jpg', 'rb')
# msgImage = MIMEImage(fp.read())
# fp.close()
# msgImage.add_header('Content-ID', '<image1>')
# msgRoot.attach(msgImage)
#发送邮件
smtp = smtplib.SMTP()
#设定调试级别,依情况而定
smtp.set_debuglevel(1)
smtp.connect(server)
smtp.login(user, passwd)
smtp.sendmail(strFrom, strTo, msgRoot.as_string())
# smtp.sendmail(strFrom, strTo, msgRoot.as_string())
smtp.quit()
return
smtp = smtplib.SMTP()
#设定调试级别,依情况而定
smtp.set_debuglevel(1)
smtp.connect(server)
smtp.login(user, passwd)
smtp.sendmail(strFrom, strTo, msgRoot.as_string())
# smtp.sendmail(strFrom, strTo, msgRoot.as_string())
smtp.quit()
return
if __name__ == '__main__' :
authInfo = {}
authInfo['server'] = 'smtp.163.com'
authInfo['user'] ='****@163.com'
authInfo['password'] = '*****'//写上你的密码
fromAdd = '****@163.com'
toAdd = ['****@163.com','elbert.chenh@gamil.com']
subject = 'hello ,boy title'
plainText = '这里是普通文本'
htmlText = '<B>HTML文本</B>'
sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText)
authInfo = {}
authInfo['server'] = 'smtp.163.com'
authInfo['user'] ='****@163.com'
authInfo['password'] = '*****'//写上你的密码
fromAdd = '****@163.com'
toAdd = ['****@163.com','elbert.chenh@gamil.com']
subject = 'hello ,boy title'
plainText = '这里是普通文本'
htmlText = '<B>HTML文本</B>'
sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText)
本文转自elbertchen 51CTO博客,原文链接:http://blog.51cto.com/linkyou/282575,如需转载请自行联系原作者