#!/usr/bin/python3
import smtplib
from email.mime.text import mimetext
from email.header import header
sender =
receivers =
]# 接收郵件,可設定為你的qq郵箱或者其他郵箱
# 三個引數:第乙個為文字內容,第二個 plain 設定文字格式,第三個 utf-8 設定編碼
message = mimetext(
'python 郵件傳送測試...'
,'plain'
,'utf-8'
)message[
'from'
]= header(
"菜鳥教程"
,'utf-8'
)# 傳送者
message[
'to'
]= header(
"測試"
,'utf-8'
)# 接收者
subject =
'python smtp 郵件測試'
message[
'subject'
]= header(subject,
'utf-8'
)try
: smtpobj = smtplib.smtp(
'localhost'
) smtpobj.sendmail(sender, receivers, message.as_string())
print
("郵件傳送成功"
)except smtplib.smtpexception:
print
("error: 無法傳送郵件"
)
一開始對於s.sendmail(mail_user, receivers, msgroot.as_string())
中的receivers
和msgroot['to']
中的收件人有些誤解,以為兩者一致,導致浪費了一些時間
除錯修改一番就可達到預期的需求,**是最好的文件
import smtplib
import traceback
from email.mime.text import mimetext
from email.header import header
from email.mime.multipart import mimemultipart
from config.setting import
*def
send_text
(title, receivers, mail_msg)
:"""
傳送郵件
:param title: 郵件名稱
:param receivers: 接收者 [a,b,c]
:param mail_msg: 郵件內容
:return:
"""msgroot = mimemultipart(
'related'
) msgalternative = mimemultipart(
'alternative'
)# 標題資訊
msgroot[
'subject'
]= header(title,
'utf-8'
)# 傳送人
msgroot[
'from'
]= header(sender,
'utf-8'
)# 接收人
msgroot[
'to']=
','.join(receivers)
msgroot.attach(msgalternative)
msgalternative.attach(mimetext(mail_msg,
'html'
,'utf-8'))
try:
s = smtplib.smtp(server, port)
s.login(mail_user, mail_pwd)
s.sendmail(mail_user, receivers, msgroot.as_string())
except exception as e:
traceback.print_exc(e)
finally
: s.quit(
)
重點來了。如何在郵件中優雅的呈現具體的資訊呢
一開始一行行的敲html頁面,發現太艱辛了,網上找找是否有測試報告模板吧
good!找到乙個還看的過去的測試報告和原始碼
直接修改**傳送郵件。發現兩個問題,乙個是詳細的用例執行資訊可以在swapi介面平台中展示即可,乙個是css樣式在郵件中並沒有顯示
這麼挫不能忍啊
將css對應的**直接複製到郵件資訊中,然後調整布局,得到一下郵件報告
最後,貼上修改後的html
html_template =
"""<?xml version="1.0" encoding="utf-8"?>
測試報告詳情鏈結(公司內網訪問)
項 目:
計 劃:
執行版本:
v 執行環境:
測試時長:
s 總用例數:
通 過 率:
%
"""
其實在呼叫的時候又遇到了乙個問題,使用變數%s
的方式的時候,發現html中有一大批%
,可以將%
替換成%%
還有一種方式,str.format()
的方式,但是,html**現
時又被誤判
最後選擇將html原本的替換成
}}
,變數使用這樣的方式
具體呼叫
# 郵件提示測試報告內容
mail_content = html_template.
format
( project_name=project_name,
plan_name=plan_name,
version=plan_version,
env_name=env_name,
start_time=start_time,
elapsed=plan_elapsed,
case_num=case_num,
passing_rate=passing_rate,
case_pass_num=case_pass,
case_fail_num=case_fail,
case_error_num=case_error,
report_href=report_href
)
關鍵介面效能測試報告
第1章 概述 1.1 編寫目的 編寫該測試總結主要有以下幾個目的 1 通過對效能的測試結果的分析,得到對 效能的評估 2 分析測試的過程 為 持續改進的質量過程提供參考。1.2 專案背景 本專案是應開發中心的要求,對xx 所涉及的關鍵 介面效能的情況進行壓力測試與分析,以期輔助技術支援人員對伺服器進...
關鍵介面效能測試報告
第1章 概述 1.1 編寫目的 編寫該測試總結主要有以下幾個目的 1 通過對效能的測試結果的分析,得到對 效能的評估 2 分析測試的過程 為 持續改進的質量過程提供參考。1.2 專案背景 本專案是應開發中心的要求,對xx 所涉及的關鍵 介面效能的情況進行壓力測試與分析,以期輔助技術支援人員對伺服器進...
測試 測試報告
document number 文件編號 confidentiality level 密級 test report 01 絕密 秘密 內部公開 document version 文件版本 total 10 pages 共 10 頁 v1.0 測試報告 prepared by 擬制date 日期yyy...