python介面自動化 發郵件帶附件

2021-10-09 04:33:12 字數 2753 閱讀 1275

首先建立乙個py檔案,名稱為send_main.py,檔案內容如下:

from email.mime.text import mimetext

import smtplib

import sys

import io

buffer

,encoding=

'utf8'

) smtpserver =

'smtp.qq.com'

#發件伺服器

port =

465#埠 伺服器和埠號不知道的話,可以去qq郵箱搜尋

username =

'****@qq.com'

#發件箱使用者名稱

password =

'****'

#授權碼,注意這裡不是密碼,是qq郵箱支援第三方工具的授權碼,需要去qq郵箱修改

sender =

'****@qq.com'

#發件人郵箱

receiver =

'****@qq.com'

#收件人郵箱

#receiver = ['****@qq.com','****@qq.com'] #多個收件人寫成列表就可以了

msg = mimetext(

'本輪自動化測試報告已傳送,望領導查閱'

)#郵件裡邊的文字

msg[

'subject']=

'報告'

#主題smtp = smtplib.smtp(

) smtp.connect(smtpserver)

#連線郵件伺服器

smtp.login(username,password)

#登入smtp.sendmail(sender, receiver, msg.as_string())

#傳送,接收,內容

smtp.quit(

)#關閉

print

("郵件傳送成功"

)#提示郵件傳送結果

執行後,開啟收件箱,檢視收到的郵件,如下:

定時任務的時候,需要把測試報告傳送給專案經理和測試,那麼就需要把測試報告附加到郵件裡邊,一起傳送過去,我們可以用如下**:

from email.mime.multipart import mimemultipart

from email.mime.text import mimetext

import smtplib

import sys

import io

buffer

,encoding=

'utf8'

) smtpserver =

'smtp.qq.com'

#發件伺服器

port =

465#埠 伺服器和埠號不知道的話,可以去qq郵箱搜尋

username =

'*****@qq.com'

#發件箱使用者名稱

password =

'*****'

#授權碼,注意這裡不是密碼,是qq郵箱支援第三方工具的授權碼,需要去qq郵箱修改哈

sender =

'*****@qq.com'

#發件人郵箱

receiver =

'*****@qq.com'

#收件人郵箱

#receiver = ['*****@qq.com','*****@163.com'] #多個收件人寫成列表就可以了

msg = mimemultipart(

'related'

)#定義郵件型別,related可以增加多種附件

msg.attach(mimetext(

'本輪自動化測試報告已傳送,望領導查閱'))

#郵件裡邊的文字

msg[

'subject']=

'報告'

#主題msg[

'from'

]= sender #讓發件人不為空

#下邊這幾句是新增附件

mail_path =

open

("./result.html"

,'r'

,encoding=

'utf-8'

).read(

)#這幾句裡邊可以修改路徑和檔名稱,具體以實際為準

att = mimetext(mail_path,

"base64"

,"utf-8"

) att[

"content-type"]=

att[

"content-disposition"]=

"attachment;filename = 'result.html'"

msg.attach(att)

smtp = smtplib.smtp(

) smtp.connect(smtpserver)

#連線郵件伺服器

smtp.login(username,password)

#登入smtp.sendmail(sender, receiver, msg.as_string())

#傳送,接收,內容

smtp.quit(

)#關閉

print

("郵件傳送成功"

)#提示郵件傳送結果

執行完成以後,我們去收件箱檢視:

python介面自動化 發郵件帶多個附件

我們希望的是,自動化指令碼執行結束以後,把當前的測試報告和其他相關文件 例如用例 一起傳送給專案經理,所以就把傳送郵件的指令碼寫在批量執行文件裡了,因為程式是順序執行的,把發郵件的寫在批量執行下邊就可以了。上 import unittest import htmltestreportcn from ...

Python自動發郵件

摘要 本文介紹如何使用python發郵件,主要原理是利用qq郵箱傳送郵件 獲得授權碼後將其寫在下面程式中,然後就可以給自己的郵箱發郵件了 使用qq郵箱傳送郵件 content是傳送的內容,格式為 hostusername你自己的qq郵箱名 tousername 接收方的郵箱賬號 import smt...

python自動發郵件

本文以qq郵箱為例 python 內建smtplib庫支援傳送郵件 import smtplib from email.mime.text import mimetext from email.header import header 例項乙個郵箱物件 郵箱我們以qq郵箱為例 埠為465或者587,...