亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python發(fā)送郵件封裝實(shí)現(xiàn)過(guò)程詳解

 更新時(shí)間:2020年05月09日 11:01:05   作者:全棧測(cè)試開(kāi)發(fā)日記  
這篇文章主要介紹了Python發(fā)送郵件封裝實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

  引言

  在做接口測(cè)試的時(shí)候,我們不僅需要將測(cè)試結(jié)果以報(bào)告的形式展示,還需要將測(cè)試結(jié)果以郵件的形式發(fā)送到需要知道的人手中。那么如何發(fā)送郵件呢?

  郵件發(fā)送方式

  測(cè)試結(jié)果以郵件形式發(fā)送的方式有兩種:

第一種:手動(dòng)統(tǒng)計(jì)結(jié)果數(shù)據(jù)及報(bào)告,用郵件客戶端或web版形式發(fā)送,比如:用QQ郵箱,foxmail郵箱...

第二種:使用腳本發(fā)送,比如:利用python內(nèi)置對(duì)SMTP協(xié)議的支持,發(fā)送郵件。

  介紹一下:

SMTP是發(fā)送郵件的協(xié)議,Python內(nèi)置對(duì)SMTP的支持,可以發(fā)送純文本郵件、HTML郵件以及帶附件的郵件;Python對(duì)SMTP支持有smtplib和email兩個(gè)模塊,email負(fù)責(zé)構(gòu)造郵件,smtplib負(fù)責(zé)發(fā)送郵件;Smtplib是關(guān)于 SMTP(簡(jiǎn)單郵件傳輸協(xié)議)的操作模塊,在發(fā)送郵件的過(guò)程中,起到服務(wù)器之間互相通信的作用;Email是用來(lái)設(shè)置服務(wù)器之間通信的信息,包括信息頭、信息主體等等;用腳本發(fā)郵件時(shí),需要先打開(kāi)自己郵箱的 SMTP 功能,各家郵箱的設(shè)置方法不同,可自行百度;

發(fā)郵件流程圖剖析:

  腳本實(shí)現(xiàn)發(fā)送郵件

  這里我只介紹python腳本發(fā)送郵件,具體參考下面代碼,關(guān)鍵部分已經(jīng)注釋:

# -*- coding: utf-8 -*-
'''
@author: Leo
@software: pycharm
@file: 111.py
@time: 2020/4/26 0026 1:13
@Desc:
'''
__author__ = 'Leo'
# -*- coding: utf-8 -*-
'''
@author: Leo
@software: pycharm
@file: send_email.py
@time: 2020/4/25 0025 22:02
@Desc:
 
'''
__author__ = 'Leo'
# 導(dǎo)入發(fā)送郵件模塊:smtplib
import smtplib
# 導(dǎo)入構(gòu)造郵件模塊:MIMEText
from email.mime.text import MIMEText
class SendEmail(object):
  """
  發(fā)送郵件模塊
  """
  def __init__(self):
    """
    初始化郵件配置服務(wù)
    """
    self.send_user = '###'
    self.mail_host = 'smtp.163.com'
    self.password = '###'
 
  def send_mail(self,user_lists,subject,content):
    """
    執(zhí)行發(fā)送郵件
    """
    user = "發(fā)件人名稱" + "<" + self.send_user + ">"
    message = MIMEText(content,_subtype="plain",_charset="utf8")
    message['Subject'] = subject
    message['From'] = user
    message['To'] = ";".join(user_lists)
    try:
      server = smtplib.SMTP()
      server.connect(self.mail_host)
      server.login(self.send_user,self.password)
      # as_string將MIMEText對(duì)象轉(zhuǎn)成str
      server.sendmail(user,user_lists,message.as_string())
      server.close()
      print("郵件發(fā)送成功".center(60,'='))
 
    except:
      print("郵件發(fā)送失敗".center(60,'='))
      raise
  def send_content(self,data):
    """
    發(fā)送郵件內(nèi)容
    """
    pass_cases_nums = int(len(data['pass_cases']))
    print("用例執(zhí)行成功數(shù):%s"%pass_cases_nums)
    fail_cases_nums = int(len(data['fail_cases']))
    print("用例執(zhí)行失敗數(shù):%s"%fail_cases_nums)
    not_execute_nums = int(len(data['not_execute_cases']))
    print("用例未執(zhí)行數(shù):%s" % fail_cases_nums)
    execute_num = float(pass_cases_nums + fail_cases_nums)
    total_cases = float(pass_cases_nums + fail_cases_nums + not_execute_nums)
    pass_ratio = "%.2f%%" % (pass_cases_nums / total_cases * 100)
    fail_ratio = "%.2f%%" % (fail_cases_nums / total_cases * 100)
 
    user_lists = ['###']
    subject = "【接口自動(dòng)化測(cè)試用例執(zhí)行統(tǒng)計(jì)】"
    content = "一共 %f 個(gè)用例, 執(zhí)行了 %f 個(gè)用例,未執(zhí)行 %f 個(gè)用例;成功 %f 個(gè),通過(guò)率為 %s;失敗 %f 個(gè),失敗率為 %s" % (total_cases, execute_num, not_execute_nums, pass_cases_nums, pass_ratio, fail_cases_nums, fail_ratio)
 
    self.send_mail(user_lists, subject, content)
if __name__ == '__main__':
  sm = SendEmail()
  sm.send_content({'pass_cases':[1, 3, 5],'fail_cases':[2, 4, 6],'not_execute_cases':[1, 2, 3]})

運(yùn)行程序:

結(jié)果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python matplotlib實(shí)現(xiàn)多重圖的繪制

    Python matplotlib實(shí)現(xiàn)多重圖的繪制

    Matplotlib作為Python的2D繪圖庫(kù),它以各種硬拷貝格式和跨平臺(tái)的交互式環(huán)境生成出版質(zhì)量級(jí)別的圖形。本文將利用Matplotlib庫(kù)繪制多重圖,感興趣的可以了解一下
    2022-03-03
  • python中wx將圖標(biāo)顯示在右下角的腳本代碼

    python中wx將圖標(biāo)顯示在右下角的腳本代碼

    python中wx將圖標(biāo)顯示在右下腳的代碼,此程序摘自wxdemo,不夠完善,只供參考用
    2013-03-03
  • python爬蟲(chóng)搭配起B(yǎng)ilibili唧唧的流程分析

    python爬蟲(chóng)搭配起B(yǎng)ilibili唧唧的流程分析

    這篇文章主要介紹了python爬蟲(chóng)搭配起B(yǎng)ilibili唧唧的流程分析,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Python中l(wèi)ist初始化方法示例

    Python中l(wèi)ist初始化方法示例

    這篇文章主要介紹了Python中l(wèi)ist初始化方法,分析了list初始化常用的方法與相關(guān)使用注意事項(xiàng),需要的朋友可以參考下
    2016-09-09
  • Python 必須了解的5種高級(jí)特征

    Python 必須了解的5種高級(jí)特征

    Python 多好用不用多說(shuō),大家看看自己用的語(yǔ)言就知道了。但是 Python 隱藏的高級(jí)功能你都 get 了嗎?本文中,作者列舉了 Python 中五種略高級(jí)的特征以及它們的使用方法,快來(lái)一探究竟吧!
    2020-09-09
  • Python2.6版本中實(shí)現(xiàn)字典推導(dǎo) PEP 274(Dict Comprehensions)

    Python2.6版本中實(shí)現(xiàn)字典推導(dǎo) PEP 274(Dict Comprehensions)

    這篇文章主要介紹了Python2.6版本中實(shí)現(xiàn)字典推導(dǎo) PEP 274(Dict Comprehensions),本文給出了表達(dá)式寫(xiě)法和for循環(huán)寫(xiě)法兩種方法實(shí)現(xiàn)字符推導(dǎo),需要的朋友可以參考下
    2015-04-04
  • pandas處理csv文件的方法步驟

    pandas處理csv文件的方法步驟

    這篇文章主要介紹了pandas處理csv文件的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python操作MongoDB數(shù)據(jù)庫(kù)PyMongo庫(kù)使用方法

    Python操作MongoDB數(shù)據(jù)庫(kù)PyMongo庫(kù)使用方法

    這篇文章主要介紹了Python操作MongoDB數(shù)據(jù)庫(kù)PyMongo庫(kù)使用方法,本文講解了創(chuàng)建連接、連接數(shù)據(jù)庫(kù)、連接聚集、查看全部聚集名稱、查看聚集的一條記錄等操作方法,需要的朋友可以參考下
    2015-04-04
  • Python把圖片轉(zhuǎn)化為pdf代碼實(shí)例

    Python把圖片轉(zhuǎn)化為pdf代碼實(shí)例

    這篇文章主要介紹了Python把圖片轉(zhuǎn)化為pdf代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • django主動(dòng)拋出403異常的方法詳解

    django主動(dòng)拋出403異常的方法詳解

    這篇文章主要給大家介紹了關(guān)于django主動(dòng)拋出403異常的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01

最新評(píng)論