欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python自動化辦公之定時發(fā)送郵件的實現

 更新時間:2022年05月24日 09:29:59   作者:渴望力量的哈士奇  
python中的schedule模塊可以使我們方便簡單的使用定時任務,即在特定的時間自動的執(zhí)行一些任務的功能,本文將用這一模塊實現郵件自動發(fā)送,需要的可以參考一下

該章節(jié)為 Python自動化辦公篇 的最后一章,通過定時任務發(fā)送郵件的方式學習定時模塊的使用 --> schedule 。(該章內容篇幅較少)

定時模塊的使用

python中有一個輕量級的定時任務調度的庫:schedule。它可以完成每分鐘,每小時,每天,周幾,特定日期的定時任務。因此十分方便我們執(zhí)行一些輕量級的定時任務。

schedule 模塊的介紹

定時任務:

在 特定的時間 自動的執(zhí)行一些任務的功能, python 中的 schedule 模塊可以使我們方便簡單的使用定時任務。

schedule 的安裝:

pip install schedule 如果安裝失敗,嘗試一下更換國內的鏡像源。

schedule 模塊各種時間用法

每過多少分鐘執(zhí)行一次 func函數 ,args是函數的參數 :

schedule.every(count).minutes.do(func, args)

每天的 10:20 執(zhí)行一次 func 函數,args是函數的參數 :

schedule.every().day.at("10:20").do(func, args)

schedule 模塊支持的時間如下:

類型說明
minutes分鐘
seconds
hour小時
day
week

schedule 模塊支持的時間遠不止這些,這里至介紹了常用的幾個時間方式。

schedule 的啟動

類型說明
schedule.run_pending執(zhí)行

PS:要放在 "while" 中執(zhí)行,并且利用時間至少 1秒 的阻塞。

代碼示例如下:

# coding:utf-8

import smtplib
import time
import schedule  # pip install schedule

from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart


'''
第三方的 smpt [腳本中涉及的郵箱地址都是假的,請使用自己的真實郵箱地址進行測試]
'''

mail_host = "smtp.sina.com"     # 設置郵箱服務器
mail_user = "conan868242"       # 設置自己的郵箱
mail_pass = "cb997b01a87232b2"  # 這里就是郵箱的口令,也就是授權碼;不是密碼。

sender = "conan868242@sina.com"     # 定義發(fā)送者郵箱(其實就是自己)
receivers = ["3241716373@qq.com"]   # 定義接受者郵箱(可以是多個接收者)

# message = MIMEText('<p style="color:red;">這是一個測試</p>', "html", "utf-8")     # 定義郵件內容;"plain"是格式,表示是普通的文件內容
message = MIMEMultipart()       # 定義帶有附件的郵件對象

message["From"] = Header(sender)                            # 在message內定義發(fā)送信息 --> 發(fā)送者
message["Subject"] = Header("Python 測試郵件發(fā)送", "utf-8")   # 在message內定義發(fā)送信息的標題
# print("加密后的發(fā)送內容\n", message.as_string())      # 打印輸出加密后的發(fā)送內容

attr = MIMEText(open('send.py', 'rb').read(), 'base64', 'utf-8')    # 定義帶有附件的郵件發(fā)送內容;(默認是一種屬性);
                                                                    # 以 open 的形式將需要發(fā)送的文件讀出來
                                                                    # 定義內容為"base64"格式
attr['Content-Type'] = 'application/octet-stream'   # 針對屬性進行格式上的定義;"application/octet-stream"代表著流上的一種協(xié)議
                                                    # 即定義 "附件" 的類型
attr['Content-Disposition'] = 'attachment;filename="send.py"'       # 針對傳輸的附件定義一個名稱

message.attach(attr)        # 利用 "message" 的 "attach" 函數將 "附件" 添加進去
message = MIMEText('這是一個帶附件的郵件', "plain", "utf-8")      # 定義郵件文字內容(即添加郵件的主內容)

def send():
    print("郵件開始發(fā)送")
    try:    # 捕獲發(fā)送郵件的異常
        smtpObj = smtplib.SMTP()             # 實例化 SMTP 協(xié)議對象
        smtpObj.connect(mail_host, 25)       # 鏈接 SMTP 服務器
        smtpObj.login(mail_user, mail_pass)  # 登錄郵箱驗證
        smtpObj.sendmail(sender, receivers, message.as_string())    # 發(fā)送郵件; "message" 通過 "as_string()" 進行發(fā)送內容字符串的加密
    except smtplib.SMTPException as error:
        print("error:{}".format(error))


if __name__ == '__main__':
    schedule.every(10).seconds.do(send)     # 每隔十秒鐘發(fā)送一次郵件

    while True:     # 啟動定時任務,延時1秒。
        schedule.run_pending()
        time.sleep(1)

PS:可以考慮加上發(fā)送郵件和定時任務之間的時間差,進行定時任務的調試,這里我就偷懶不寫了哈。

運行結果如下:

到此這篇關于Python自動化辦公之定時發(fā)送郵件的實現的文章就介紹到這了,更多相關Python定時發(fā)送郵件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python編程基礎之函數和模塊

    Python編程基礎之函數和模塊

    這篇文章主要為大家介紹了Python函數和模塊,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Python中無限元素列表的實現方法

    Python中無限元素列表的實現方法

    這篇文章主要介紹了Python中無限元素列表的實現方法,很實用的功能,需要的朋友可以參考下
    2014-08-08
  • Python傳統(tǒng)圖像處理之皮膚區(qū)域檢測詳解

    Python傳統(tǒng)圖像處理之皮膚區(qū)域檢測詳解

    這篇文章主要介紹了在不同情景下對傳統(tǒng)圖像進行皮膚區(qū)域檢測,文章中的代碼具有一定的參考價值,感興趣的小伙伴可以跟隨小編一起來學習學習
    2021-12-12
  • python tqdm用法及實例詳解

    python tqdm用法及實例詳解

    在本篇文章里小編給大家整理的是一篇關于python tqdm用法及實例詳解內容,有需要的朋友們可以學習下。
    2021-06-06
  • 關于Python3的import問題(pycharm可以運行命令行import錯誤)

    關于Python3的import問題(pycharm可以運行命令行import錯誤)

    這篇文章主要介紹了關于Python3的import問題(pycharm可以運行命令行import錯誤),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 基于Python+Matplotlib實現直方圖的繪制

    基于Python+Matplotlib實現直方圖的繪制

    Matplotlib是Python的繪圖庫,它能讓使用者很輕松地將數據圖形化,并且提供多樣化的輸出格式。本文將為大家介紹如何用matplotlib繪制直方圖,感興趣的朋友可以學習一下
    2022-04-04
  • Python基于BeautifulSoup和requests實現的爬蟲功能示例

    Python基于BeautifulSoup和requests實現的爬蟲功能示例

    這篇文章主要介紹了Python基于BeautifulSoup和requests實現的爬蟲功能,結合實例形式分析了Python使用BeautifulSoup和requests庫爬取網站指定信息的相關操作技巧,需要的朋友可以參考下
    2019-08-08
  • pandas數值排序的實現實例

    pandas數值排序的實現實例

    篩選和排序是Excel中使用頻率最多的功能,本文主要介紹了pandas數值排序的實現實例,文中通過示例代碼介紹的非常詳細,,感興趣的可以了解一下
    2021-07-07
  • Python推導式使用詳情

    Python推導式使用詳情

    這篇文章主要介紹了Python推導式使用詳情,推導式是?for?循環(huán)的簡化使用方法,使用推導式,將一個可迭代對象中的數據遍歷到某一個容器當中,下面文章詳細介紹需要的小伙伴可以參考一下
    2022-05-05
  • pyqt5主窗口按鍵彈出子窗口的實現

    pyqt5主窗口按鍵彈出子窗口的實現

    本文主要介紹了pyqt5主窗口按鍵彈出子窗口的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02

最新評論