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

Python實現(xiàn)定時發(fā)送監(jiān)控郵件

 更新時間:2022年01月04日 11:01:00   作者:阿黎逸陽  
這篇文章主要為大家講解如何用python連接郵箱,實現(xiàn)自動發(fā)送監(jiān)控郵件,文中的示例講解詳細,對我們了解Python有一定的幫助,需要的可以參考一下

不管是在信貸領(lǐng)域還是支付領(lǐng)域,作為一個風(fēng)控人員,我們都需要對部署的策略模型進行監(jiān)控,信貸領(lǐng)域可能還需要對客戶的逾期表現(xiàn)進行監(jiān)控。這時,如果我們能用python自動連接數(shù)據(jù)庫,對策略、模型、貸后表現(xiàn)等數(shù)據(jù)進行分析處理,輸出標準表格或圖片到固定文件夾中。再用python自動定時給領(lǐng)導(dǎo)和同事發(fā)送監(jiān)控郵件,就可以讓相關(guān)人員及時了策略模型的運行狀態(tài)、項目的逾期動態(tài),是一件很有意義的事。

本文著重講解如何用python連接郵箱,自動發(fā)送郵件,至于python連接數(shù)據(jù)庫進行數(shù)據(jù)處理模塊,后續(xù)有時間了再跟大家分享。

一、自動定時任務(wù)運行詳情

首先來看下,自動定時任務(wù)發(fā)送郵件的運行詳情,視頻鏈接

二、開啟POP3/SMTP服務(wù)

在用python連接郵箱時,需要開啟POP3/SMTP服務(wù),本文以qq郵箱為例進行講解,其它郵箱開啟方法請自行百度。首先登錄網(wǎng)頁版qq郵箱—>點擊設(shè)置—>點擊帳戶—>下拉找到POP3/IMAP/SMTP/ Exchange/CardDAV/CalDAV服務(wù)。

在這里插入圖片描述

然后開啟POP3/SMTP服務(wù)(根據(jù)指示步驟操作即可)。

在這里插入圖片描述

開啟POP3/SMTP服務(wù)主要是想獲取代碼中用到的token,是一串類似字符串的文本,大家在開啟服務(wù)的過程中,記得保存。

三、發(fā)送郵件

使用python發(fā)送郵件時,主要用到smtplib和email庫,這兩個庫是自帶的,直接導(dǎo)入即可。 

1 導(dǎo)入庫

import os
import email
import smtplib
import datetime
from email.header import Header
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
#加載發(fā)送郵件需要用到的庫

os.chdir(r"E:\自動化郵件") #設(shè)置發(fā)送郵件時附件文件存放的地址

其中smtplib模塊主要負責(zé)發(fā)送郵件,email模塊主要負責(zé)構(gòu)建郵件。os.chdir中的文件路徑記得替換成你存放郵件附件的路徑。

2 設(shè)置郵件內(nèi)容

平常我們發(fā)送郵件,主要需填寫收件人、郵件主題、郵件正文、附件等信息。使用python發(fā)送郵件,同樣也是填寫這些信息,不過是在語句中注明。

mail_sender = "2275885700@qq.com"            # 發(fā)送者郵箱名
mail_license = '****************'            # 發(fā)送者郵箱授權(quán)碼,即開啟POP3/SMTP服務(wù)獲取的token,需替換成你的郵箱
mail_host = "smtp.qq.com"                    # SMTP服務(wù)器,這里為qq郵箱,若為163郵箱請用163替換qq
mail_receivers = ["2275885700@qq.com","wawoxzy@163.com"]  #收件人郵箱
mail = MIMEMultipart('related')              # 設(shè)置郵件主體
mail["From"] = "sender_name<2275885700@qq.com>"           # 設(shè)置發(fā)送者郵箱
mail["To"] = "receiver_1_name<2275885700@qq.com>,receiver_2_name<wawoxzy@163.com>" #設(shè)置接受者郵箱
subject_content = '【日報】風(fēng)險監(jiān)測'                      # 設(shè)置郵件主題
mail["Subject"] = Header(subject_content,'utf-8')         # 添加郵件主題
body_content = """
各位好,

    這是風(fēng)險監(jiān)測日報,請查收!
    
BestRegards,
謝XX


"""                                         # 設(shè)置郵件正文
message_text = MIMEText(body_content,"plain","utf-8")   # 設(shè)置正文內(nèi)容、文本格式、編碼方式
mail.attach(message_text)                   # 向MIMEMultipart對象中添加文本對象

注意:mail_license中的值需替換成你在開啟POP3/SMTP服務(wù)時獲取的token。以上語句中的內(nèi)容,可根據(jù)需要自行調(diào)整,如有疑問可參考后面的備注信息。

3 添加附件

附件信息一般是圖片和數(shù)據(jù)文檔,故本文對這兩種附件進行闡述,你只需把名字換成你的附件名即可。

image_picture = open('yk2.jpg','rb')                   # 打開附件圖片
message_image = MIMEImage(image_picture.read())        # 設(shè)置讀取獲取的二進制數(shù)據(jù)
#message_image.add_header('Content-ID','<image1>')
message_image["Content-Disposition"] = 'attachment; filename="yk2.jpg"' # 設(shè)置附件圖片名稱
mail.attach(message_image)                             # 把圖片添加到郵件中去
image_picture.close()                                  # 關(guān)閉剛才打開的圖片
mail.attach(message_image)                             # 把圖片添加為郵件附件
atta = MIMEText(open('BlackFriday.csv', 'rb').read(),'base64','utf-8') # 添加數(shù)據(jù)(csv、excel等)附件
atta["Content-Disposition"] = 'attachment; filename="BlackFriday.csv"' # 設(shè)置數(shù)據(jù)(csv、excel等)附件名稱
mail.attach(atta)                                      # 把csv附件添加到郵件中去

4 發(fā)送郵件

郵件正文和附件都設(shè)置好后,就可以發(fā)送郵件啦,具體語句如下:

smtp = smtplib.SMTP()                     # 創(chuàng)建SMTP對象
smtp.connect(mail_host, 25)               # 設(shè)置發(fā)件人郵箱的域名和端口,端口地址為25
smtp.set_debuglevel(1)                    # 打印和SMTP服務(wù)器交互的所有信息
smtp.login(mail_sender,mail_license)      # 根據(jù)郵箱地址和郵箱收起碼登錄郵箱
smtp.sendmail(mail_sender, mail_receivers, mail.as_string()) # 發(fā)送郵件,并設(shè)置郵件內(nèi)容格式為str
now_time = datetime.datetime.now().strftime('%Y-%m-%d')      # 獲取當前時間
print(now_time+" 日監(jiān)控郵件發(fā)送成功")                        # 打印某日成功發(fā)送郵件記錄
smtp.quit()                                                  # 關(guān)閉SMTP對象

至此,郵件已發(fā)送完畢,接著我們來看下郵件發(fā)送效果吧。  

5 郵件發(fā)送效果

python發(fā)送的郵件和我們手動發(fā)送的郵件是一樣的,具體可見如下圖片。

在這里插入圖片描述

接下來,我們看看如何設(shè)置定時任務(wù),每天定時發(fā)送郵件吧。 

四、設(shè)置定時任務(wù)

在前面兩節(jié)中介紹了如何用python自動發(fā)送郵件。本節(jié)介紹如何設(shè)置定時任務(wù),在固定時間去抓取固定文件中的內(nèi)容。

1 設(shè)置定時任務(wù)的具體步驟

首先,點擊windows桌面左下角的搜索菜單,輸入“控制面板”,就會在最佳匹配中出現(xiàn)控制面板,點擊控制面板。

在這里插入圖片描述

接著,在控制面板的搜索框輸入”任務(wù)“兩個字,就會出現(xiàn)管理工具和計劃任務(wù),點擊計劃任務(wù)。

在這里插入圖片描述

接著,點擊創(chuàng)建基本任務(wù),填寫名稱和描述(可自定義),點擊下一步默認為每天,如需改成每周,自行選擇即可。

在這里插入圖片描述

點擊下一步,設(shè)置任務(wù)開始的時間,點擊下一步,選擇啟動程序,再點擊下一步。接著點擊瀏覽,選擇需要定時是python腳本,最后點擊完成即可。

在這里插入圖片描述

2 設(shè)置定時任務(wù)的教學(xué)視頻

最后,來看下設(shè)置定時任務(wù)的教學(xué)視頻,大家可以根據(jù)具體步驟參考視頻進行設(shè)置。

至此,應(yīng)用python每天自動發(fā)送郵件已講解完畢,感興趣的同學(xué)可以自己跟著本文,自行實現(xiàn)一遍。

相關(guān)文章

最新評論