中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現Python發送郵件封裝

發布時間:2020-07-28 11:29:09 來源:億速云 閱讀:208 作者:小豬 欄目:開發技術

這篇文章主要為大家展示了如何實現Python發送郵件封裝,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

  引言

  在做接口測試的時候,我們不僅需要將測試結果以報告的形式展示,還需要將測試結果以郵件的形式發送到需要知道的人手中。那么如何發送郵件呢?

  郵件發送方式

  測試結果以郵件形式發送的方式有兩種:

第一種:手動統計結果數據及報告,用郵件客戶端或web版形式發送,比如:用QQ郵箱,foxmail郵箱...

第二種:使用腳本發送,比如:利用python內置對SMTP協議的支持,發送郵件。

  介紹一下:

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

發郵件流程圖剖析:

如何實現Python發送郵件封裝

  腳本實現發送郵件

  這里我只介紹python腳本發送郵件,具體參考下面代碼,關鍵部分已經注釋:

# -*- 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'
# 導入發送郵件模塊:smtplib
import smtplib
# 導入構造郵件模塊:MIMEText
from email.mime.text import MIMEText
class SendEmail(object):
  """
  發送郵件模塊
  """
  def __init__(self):
    """
    初始化郵件配置服務
    """
    self.send_user = '###'
    self.mail_host = 'smtp.163.com'
    self.password = '###'
 
  def send_mail(self,user_lists,subject,content):
    """
    執行發送郵件
    """
    user = "發件人名稱" + "<" + 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對象轉成str
      server.sendmail(user,user_lists,message.as_string())
      server.close()
      print("郵件發送成功".center(60,'='))
 
    except:
      print("郵件發送失敗".center(60,'='))
      raise
  def send_content(self,data):
    """
    發送郵件內容
    """
    pass_cases_nums = int(len(data['pass_cases']))
    print("用例執行成功數:%s"%pass_cases_nums)
    fail_cases_nums = int(len(data['fail_cases']))
    print("用例執行失敗數:%s"%fail_cases_nums)
    not_execute_nums = int(len(data['not_execute_cases']))
    print("用例未執行數:%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 = "【接口自動化測試用例執行統計】"
    content = "一共 %f 個用例, 執行了 %f 個用例,未執行 %f 個用例;成功 %f 個,通過率為 %s;失敗 %f 個,失敗率為 %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]})

運行程序:

如何實現Python發送郵件封裝

結果:

如何實現Python發送郵件封裝

以上就是關于如何實現Python發送郵件封裝的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

马尔康县| 高台县| 新干县| 阿克苏市| 阜宁县| 伊金霍洛旗| 西吉县| 股票| 祥云县| 临江市| 清涧县| 双柏县| 霍山县| 裕民县| 商水县| 靖宇县| 兴安县| 通州区| 铜鼓县| 侯马市| 沾化县| 嘉黎县| 克东县| 澄迈县| 平南县| 道真| 枣阳市| 黄冈市| 莱阳市| 封开县| 钟祥市| 都安| 柳州市| 遂溪县| 南投市| 惠州市| 杭州市| 天峻县| 威海市| 城市| 蓬莱市|