1. 程式人生 > >python selenium2示例 - email發送

python selenium2示例 - email發送

email ipa 如果 正文 還需 type mail html標簽 ase

前言

在進行日常的自動化測試實踐中,我們總是需要將測試過程中的記錄、結果等等等相關信息通過自動的手段發送給相關人員。python的smtplib、email模塊為我們提供了很好的email發送等功能的實現。

純文本郵件

在通常情況下,我們需要發送大量的純文本類的郵件通知,或是發送概要性測試報告時,會用到此類發送方式,示例代碼如下:

#-*- coding:utf-8 -*-

__author__ = u‘苦葉子‘

import smtplib

from email.mime.text import MIMEText

from email.header import Header

if __name__ == ‘__main__‘:

sender = [email protected] # 發送人郵件地址

receiver = [email protected] # 接收人郵件地址

subject = u‘python email文本郵件發送測試‘

smtpserver = u‘smtp.163.com‘ # smtp服務

username = u‘testname‘ # 發送人郵件用戶名或專用於smtp賬戶用戶名

password = u‘testpassword‘ # 發送人郵件密碼或專用於smtp賬戶的密碼

msg = MIMEText(u‘你好‘,‘text‘,‘utf-8‘) # 文本格式郵件 正文內容

msg[‘Subject‘] = Header(subject,‘utf-8‘) # 郵件標題

smtp = smtplib.SMTP() # 初始化一個smtp對象

smtp.connect(‘smtp.163.com‘) # 連接至smtp服務器

smtp.login(username, password) # 登錄smtp服務

smtp.sendmail(sender, receiver, msg.as_string()) # 發送郵件

smtp.quit() # 發送完成後關閉連接

HTML形式的郵件

通常情況下,我們經常生成html格式的測試報告或記錄,如果采用文本郵件方式發送,則html格式的報告或記錄會將html標簽也顯示出來,那麽為了讓郵件接收者能夠正常的看到html格式的報告,則需要在郵件發送時,對相應的參數進行配置,以便郵件客戶端能正常解析html格式的郵件,示例如下:

#-*- coding:utf-8 -*-

__author__ = u‘苦葉子‘

import smtplib

from email.mime.text import MIMEText

from email.header import Header

if __name__ == ‘__main__‘:

sender = [email protected] # 發送人郵件地址

receiver = [email protected] # 接收人郵件地址

subject = u‘python email HTML形式郵件發送測試‘

smtpserver = u‘smtp.163.com‘ # smtp服務

username = u‘testname‘ # 發送人郵件用戶名或專用於smtp賬戶用戶名

password = u‘testpassword‘ # 發送人郵件密碼或專用於smtp賬戶的密碼

msg = MIMEText(u‘<html><h1>你好,這是html格式的郵件,哇哢哢</h1></html>‘,‘html‘,‘utf-8‘) # html格式郵件

msg[‘Subject‘] = Header(subject,‘utf-8‘) # 郵件標題

smtp = smtplib.SMTP() # 初始化一個smtp對象

smtp.connect(‘smtp.163.com‘) # 連接至smtp服務器

smtp.login(username, password) # 登錄smtp服務

smtp.sendmail(sender, receiver, msg.as_string()) # 發送郵件

smtp.quit() # 發送完成後關閉連接

帶附件的郵件

文本和html格式的郵件能滿足您的需要嘛?仔細回顧下,測試過程中是不是還有很多的附件要進行發送?在自動化測試過程中是不是有很多截圖?等等....是的,我們還需要發送帶附件的郵件來滿足我們日常的測試需要,下面看看帶附件的郵件發送示例:

#-*- coding:utf-8 -*-

__author__ = u‘苦葉子‘

import smtplib

from email.mime.text import MIMEText

from email.header import Header

if __name__ == ‘__main__‘:

sender = [email protected] # 發送人郵件地址

receiver = [email protected] # 接收人郵件地址

subject = u‘python email 附件郵件發送測試‘

smtpserver = u‘smtp.163.com‘ # smtp服務

username = u‘testname‘ # 發送人郵件用戶名或專用於smtp賬戶用戶名

password = u‘testpassword‘ # 發送人郵件密碼或專用於smtp賬戶的密碼

msg = MIMEMultipart(‘附件‘)

msg[‘Subject‘] = Header(subject,‘utf-8‘)

#構造附件

att = MIMEText(open(‘C:\\1.jpg‘,‘rb‘).read(),‘base64‘,‘utf-8‘) # 讀取附件

att["Content-Type"] =‘application/octet-stream‘

att["Content-Disposition"] =‘attachment; filename="1.jpg"‘

msg.attach(att) # 關聯附件

##############################################

smtp = smtplib.SMTP()

smtp.connect(‘smtp.163.com‘)

smtp.login(username, password)

smtp.sendmail(sender, receiver, msg.as_string())

smtp.quit()

群發郵件

在上述幾個示例中,所有的郵件接收都是單個人,實際的應用中,我們則需要給一群人進行郵件發送,下面看看示例:

#-*- coding:utf-8 -*-

__author__ =u‘苦葉子‘

importsmtplib

fromemail.mime.textimportMIMEText

fromemail.headerimportHeader

if__name__ ==‘__main__‘:

# 發送人郵件地址

sender [email protected]

# 群發接收人郵件地址 !!!!!

receiver = [[email protected],[email protected],[email protected]]

# 郵件標題

subject =u‘python email群發郵件發送測試‘

# smtp服務

smtpserver =u‘smtp.163.com‘

# 發送人郵件用戶名或專用於smtp賬戶用戶名

username =u‘testname‘

# 發送人郵件密碼或專用於smtp賬戶的密碼

password =u‘testpassword‘

# 文本格式郵件 正文內容

msg = MIMEText(u‘你好群發‘,‘text‘,‘utf-8‘)

# 郵件標題

msg[‘Subject‘] = Header(subject,‘utf-8‘)

# 初始化一個smtp對象

smtp = smtplib.SMTP()

# 連接至smtp服務器

smtp.connect(‘smtp.163.com‘)

# 登錄smtp服務

smtp.login(username, password)

# 發送郵件

smtp.sendmail(sender, receiver, msg.as_string())

# 發送完成後關閉連接

smtp.quit()

綜合示例

在上述所有的示例都是按功能分類來進行一一演示,接下來的示例,則是包含了上述所有功能:

#-*- coding:utf-8 -*-

__author__ = u‘苦葉子‘

import smtplib

form email.mime.multipart import MIMEMultpart

from email.mime.text import MIMEText

from email.image import MIMEImage

if __name__ == ‘__main__‘:

# 定義一些連接數據

sender = u"[email protected]"

receiver = [[email protected], [email protected]]

subject = u"郵件綜合示例"

username = u"username"

password = u"password"

# 創建message

msg = MIMEMultipart(‘alternative‘)

msg[‘Subject‘] = u"測試"

# 發送內容

text = u"你好,這是文本內容"

html = u"""

測試報告

測試結果概述

"""

# 添加MIME類型

partText = MIMEText(text, u‘plain‘)

partHTML = MIMEText(html, u‘html‘)

msg.attach(partText)

msg.attach(partHTML)

#構造附件

attach = MIMEText(open(‘c:\\demo.jpg‘).read(), ‘base64‘, ‘utf-8‘)

attach[‘Content-Type‘] = ‘application/octet-stream‘

attach[‘Content-Disposition‘] = ‘attachment;filename="demo.jpg"‘

msg.attach(attach)

# 發送郵件

smtp =smtplib.SMTP()

smtp.connect(‘smtp.163.com‘)

smtp.login(username,password)

smtp.sendmail(sender, receiver, msg.as_string())

smtp.quit()

結束語

本文從文本郵件、html格式郵件、附件郵件以及三者綜合一起使用的方式闡述了利用python email模塊進行郵件發送。

python selenium2示例 - email發送