国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Selenium學(xué)習(xí)】自動發(fā)送郵件功能

這篇具有很好參考價值的文章主要介紹了【Selenium學(xué)習(xí)】自動發(fā)送郵件功能。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

自動發(fā)送郵件功能是自動化測試項目的重要需求之一,當(dāng)自動化測試用例運行完成之

后,可自動向相關(guān)人員的郵箱發(fā)送測試報告。

SMTP(Simple Mail Transfer Protocol)是簡單郵件傳輸協(xié)議,是一組由源地址到目的

地址傳送郵件的規(guī)則,可以控制信件的中轉(zhuǎn)方式。Python 的 smtplib 模塊提供了簡單的 API

用來實現(xiàn)發(fā)送郵件功能,它對 SMTP 進行了簡單的封裝。

在給其他人發(fā)送郵件之前,首先需要有一個自己的郵箱。通過瀏覽器打開郵箱網(wǎng)址(如 www.126.com),或打開郵箱客戶端(如 Foxmail),登錄自己的郵箱賬號。如果是郵箱客戶端,則還需要配置郵箱服務(wù)器地址(如 smtp.126.com)。然后填寫收件人地址、郵件的主題和正文,以及添加附件等。即便通過 Python 實現(xiàn)發(fā)送郵件功能,也需要設(shè)置這些信息。

Python 自帶的發(fā)送郵件功能

在發(fā)送郵件時,除填寫主題和正文外,還可以增加抄送人、添加附件等。這里我們分

別把測試報告作為正文和附件進行發(fā)送。

1.發(fā)送郵件正文

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 發(fā)送郵件主題
subject = 'Python email test'

# 編寫 HTML 類型的郵件正文
msg = MIMEText('<html><h1>你好!</h1></html>', 'html', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8')

# 發(fā)送郵件
smtp = smtplib.SMTP()
smtp.connect("smtp.126.com")
smtp.login("sender@126.com", "a123456")
smtp.sendmail("sender@126.com", "receiver@126.com", msg.as_string())
smtp.quit()

首先,調(diào)用 email 模塊下面的 MIMEText 類,定義發(fā)送郵件的正文、格式,以及編碼。

然后,調(diào)用 email 模塊下面的 Header 類,定義郵件的主題和編碼類型。

smtplib 模塊用于發(fā)送郵件。connect()方法指定連接的郵箱服務(wù);login()方法指定登錄

郵箱的賬號和密碼;sendmail()方法指定發(fā)件人、收件人,以及郵件的正文; quit()方法用

于關(guān)閉郵件服務(wù)器的連接。

2.發(fā)送帶附件的郵件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# 郵件主題
subject = 'Python send email test'

# 發(fā)送的附件
with open('log.txt', 'rb') as f:
? ? send_att = f.read()

att = MIMEText(send_att, 'text', 'utf-8')
att["Content-Type"] = 'application/octet-stream'
att["Content-Disposition"] = 'attachment; filename="log.txt"'

msg = MIMEMultipart()
msg['Subject'] = subject
msg.attach(att)

# 發(fā)送郵件
smtp = smtplib.SMTP()
smtp.connect("smtp.126.com")
smtp.login("sender@126.com", "a123456")
smtp.sendmail("sender@126.com", "receiver@126.com", msg.as_string())
smtp.quit()

首先,讀取附件的內(nèi)容。通過 MIMEText 類,定義發(fā)送郵件的正文、格式,以及編碼;

Content-Type 指定附件內(nèi)容類型;application/octet-stream 表示二進制流;Content-Disposition

指定顯示附件的文件;attachment; filename="log.txt"指定附件的文件名。

然后,使用 MIMEMultipart 類定義郵件的主題,attach()指定附件信息。

最后,通過 smtplib 模塊發(fā)送郵件,發(fā)送過程與第一個例子相同。

用 yagmail 發(fā)送郵件

yagmail 是 Python 的一個第三方庫,可以讓我們以非常簡單的方法實現(xiàn)自動發(fā)送郵件

功能。

GitHub 項目地址: https://github.com/kootenpv/yagmail。

通過 pip 命令安裝。

 pip install yagmail

項目文檔提供了的簡單發(fā)送郵件的例子。

import yagmail

# 連接郵箱服務(wù)器
yag = yagmail.SMTP(user="sender@126.com", password="a123456", 
host='smtp.126.com')

# 郵件正文
contents = ['This is the body, and here is just text http://somedomain/image.png',
 'You can find an audio file attached.']

# 發(fā)送郵件
yag.send('receiver@126.com', 'subject', contents)

如果想給多個用戶發(fā)送郵件,那么只需把收件人放到一個 list 中即可。

# 發(fā)送郵件
yag.send(['aaa@126.com','bbb@qq.com','ccc@gmail.com'], 'subject', contents)

如果想發(fā)送帶附件的郵件,那么只需指定本地附件的路徑即可。

yag.send('aaa@126.com', 'subject', contents, ["d://log.txt","d://baidu_img.jpg"])

另外,還可以通過 list 指定多個附件。yagmail 庫極大地簡化了發(fā)送郵件的代碼。

整合自動發(fā)送郵件功能

import time
import unittest
import yagmail
from HTMLTestRunner import HTMLTestRunner

#把測試報告作為附件發(fā)送到指定郵箱
def send_mail(report):
? ? yag = yagmail.SMTP(user="sender@126.com",
 ? ? ? ? ? ? ? ? ? ? ? password="a123456", 
 ? ? ? ? ? ? ? ? ? ? ? host='smtp.126.com')
 ? ? subject = "主題,自動化測試報告"
 ? ? contents = "正文,請查看附件。"
 ? ? yag.send('receiver@126.com', subject, contents, report)
 ? ? print('email has send out !')
 
if __name__ == '__main__':
? ? # 定義測試用例的目錄為當(dāng)前目錄
 ? ?test_dir = './test_case'
? ? suit = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py')
 ? ?
? ? # 獲取當(dāng)前日期和時間
 ? ?now_time = time.strftime("%Y-%m-%d %H_%M_%S")
 ? ?html_report = './test_report/' + now_time + 'result.html'
 ? ?with open(report, 'wb') as fp:
 ? ?? ? # 調(diào)用 HTMLTestRunner,運行測試用例
? ? ? ? runner = HTMLTestRunner(stream=fp,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? title="百度搜索測試報告",
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? description="運行環(huán)境:Windows 10, Chrome 瀏覽器"
? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?  )
? ? ? ? runner.run(suit)
? ? send_mail(html_report) # 發(fā)送報告

整個程序的執(zhí)行過程可以分為兩部分:

(1)定義測試報告文件,并賦值給變量 html_report,通過 HTMLTestRunner 運行測試

用例,將結(jié)果寫入文件后關(guān)閉。

(2)調(diào)用 send_mail()函數(shù),并傳入 html_report 文件。在 send_mail()函數(shù)中,把測試報

告作為郵件的附件發(fā)送到指定郵箱。

為什么不把測試報告的內(nèi)容讀取出來作為郵件正文發(fā)送呢?因為 HTMLTestRunner 報

告在展示時引用了 Bootstrap 樣式庫,當(dāng)作為郵件正文“寫死”在郵件中時,會導(dǎo)致樣式丟

失,所以作為附件發(fā)送更為合適。文章來源地址http://www.zghlxwxcb.cn/news/detail-407084.html

到了這里,關(guān)于【Selenium學(xué)習(xí)】自動發(fā)送郵件功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Spring Email實現(xiàn)郵件發(fā)送功能

    Spring Email實現(xiàn)郵件發(fā)送功能

    (本篇內(nèi)容是博主在學(xué)習(xí)“牛客社區(qū)”這個項目時的筆記整理,為了方便自己以后查看,希望也能幫助到其他人。若有不恰當(dāng)?shù)牡胤竭€望指正~) 目錄 一、郵箱設(shè)置 1. 開啟POP3/SMTP服務(wù),獲取授權(quán)碼 二、 使用Spring Email 1. 導(dǎo)入jar包 ?2. 在項目的propertites文件中寫入如下配置 三、

    2023年04月25日
    瀏覽(27)
  • spring boot 集成郵件發(fā)送功能

    spring boot 集成郵件發(fā)送功能

    一、首先到QQ郵箱申請開啟POP3、SMTP協(xié)議 二、安裝依賴 三、配置文件 四、如果需要發(fā)送模板的郵件,則在/templates/目錄下建立email.html文件 五、如果需要異常打印信息的話新建自定義異常類BusinessException 六、如果需要發(fā)送附件的話,則新建網(wǎng)絡(luò)文件轉(zhuǎn)流類 七、測試方法

    2024年01月21日
    瀏覽(22)
  • Day18: 發(fā)送郵件、開發(fā)注冊功能

    Day18: 發(fā)送郵件、開發(fā)注冊功能

    在這里記一下。原來的html中的css和js路徑下載不下來,需要換成: 我這里使用的是 edu郵箱,好像默認開啟了SMTP服務(wù): 導(dǎo)入Jar包(Maven) 配置郵箱參數(shù) 在applications.properties中配置: 使用JavaMailSender發(fā)送郵件 創(chuàng)建一個包util,表示開發(fā)中需要用到的工具類,并創(chuàng)建MailClient工具類

    2024年03月13日
    瀏覽(25)
  • Django-配置郵箱功能(一):使用django自帶的發(fā)送郵件功能

    Django-配置郵箱功能(一):使用django自帶的發(fā)送郵件功能

    以QQ郵箱為例子: 1、進入到設(shè)置,找到賬戶 2、開啟POP3等服務(wù),點擊管理服務(wù) 3、進入管理服務(wù),生成授權(quán)碼 ?4、按照要求發(fā)送短信就可以了 5、將授權(quán)碼復(fù)制保存,離開界面就看不到了 1、settings.py配置郵箱服務(wù) ?2、在視圖函數(shù)給郵箱發(fā)送短信 ?3、調(diào)用請求的api,測試是否

    2024年02月13日
    瀏覽(27)
  • WordPress實現(xiàn)回復(fù)文章評論后發(fā)送郵件通知的功能

    本文實例講述了WordPress實現(xiàn)回復(fù)文章評論后發(fā)送郵件通知的功能。分享給大家供大家參考,具體如下: 很多時候,人們都希望在自己的評論被管理員回復(fù)后會收到通知。該函數(shù)的作用就是回復(fù)后自動郵件通知評論者。 把下面的代碼加到wordpress的主題函數(shù)里面,然后修改下郵

    2023年04月24日
    瀏覽(28)
  • 帝國CMS商城系統(tǒng)實現(xiàn)在線支付后發(fā)送訂單郵件提醒功能

    本文實例講述了帝國CMS商城系統(tǒng)實現(xiàn)在線支付后發(fā)送訂單郵件提醒功能。分享給大家供大家參考,具體如下: 帝國CMS是個強大的內(nèi)容管理系統(tǒng),其商城的功能也很強大,當(dāng)用戶下單,支付后我們怎么知道有用戶下單了呢?因為我們不能時時刻刻都在網(wǎng)站后臺,不斷的刷新頁面去看

    2023年04月24日
    瀏覽(91)
  • Python 自動化指南(繁瑣工作自動化)第二版:十八、發(fā)送電子郵件和短信

    Python 自動化指南(繁瑣工作自動化)第二版:十八、發(fā)送電子郵件和短信

    原文:https://automatetheboringstuff.com/2e/chapter18/ 檢查和回復(fù)電子郵件是一項巨大的時間消耗。當(dāng)然,你不能只寫一個程序來幫你處理所有的郵件,因為每封郵件都需要它自己的回應(yīng)。但是,一旦你知道如何編寫可以發(fā)送和接收電子郵件的程序,你仍然可以自動完成大量與電子郵件

    2023年04月08日
    瀏覽(97)
  • Jenkins+Jmeter集成自動化接口測試并通過郵件發(fā)送測試報告

    Jenkins+Jmeter集成自動化接口測試并通過郵件發(fā)送測試報告

    一、Jenkins的配置 1、新增一個自由風(fēng)格的項目 2、構(gòu)建-選擇Excute Windows batch command(因為我是在本地嘗試的,因此選擇的windows) 3、輸入步驟: ? ? 1. 由于不能擁有相同的jtl文件,因此在每次構(gòu)建前都需要刪除jtl文件 ? ? 2. 存放jmeter生成的報告文件夾必須為空,因此每次構(gòu)建

    2024年02月12日
    瀏覽(25)
  • Python辦公自動化 -- Python發(fā)送電子郵件和Outlook的集成

    Python辦公?動化是利?Python編程語?來創(chuàng)建腳本和程序,以簡化、加速和?動化?常辦公任務(wù)和?作流程的過程。它基于Python的強?功能和豐富的第三?庫,使得能夠處理各種辦公任務(wù),如?檔處理、數(shù)據(jù)分析、電?郵件管理、?絡(luò)通信等等。 要使?Python發(fā)送電?郵件,可以

    2024年02月20日
    瀏覽(18)
  • Spring Schedule:Spring boot整合Spring Schedule實戰(zhàn)講解定時發(fā)送郵件的功能

    Spring Schedule:Spring boot整合Spring Schedule實戰(zhàn)講解定時發(fā)送郵件的功能

    ???? 歡迎光臨,終于等到你啦 ???? ??我是 蘇澤 ,一位對技術(shù)充滿熱情的探索者和分享者。???? ??持續(xù)更新的專欄 《Spring 狂野之旅:從入門到入魔》 ?? 本專欄帶你從Spring入門到入魔 ? 這是蘇澤的個人主頁可以看到我其他的內(nèi)容哦???? 努力的蘇澤 http://suzee.blog.

    2024年03月14日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包