自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python發(fā)送郵件腳本

開發(fā) 后端
在一些場景中經(jīng)常需要發(fā)送郵件, 像是持續(xù)集成和運維報警等. 而使用Python腳本能夠很快捷方便得實現(xiàn)發(fā)送各種郵件的需求.這里就通過Python基于SMTP(Simple Mail Transfer Protocol)實現(xiàn)一套可以群發(fā),Html內(nèi)容和附件的腳本。

在一些場景中經(jīng)常需要發(fā)送郵件, 像是持續(xù)集成和運維報警等. 而使用Python腳本能夠很快捷方便得實現(xiàn)發(fā)送各種郵件的需求.這里就通過Python基于SMTP(Simple Mail Transfer Protocol)實現(xiàn)一套可以群發(fā),Html內(nèi)容和附件的腳本。

既然是要發(fā)送各種類型的郵件, 首先需要有一個郵箱.這里就以騰訊企業(yè)郵箱為例.做完一下三個準備工作之后就可以開始寫腳本了。

準備

在設置中開啟所有SMTP相關服務.

[[189597]] 

記錄發(fā)送郵件服務器地址, 連接方式和端口 

 

新增一個授權密碼并記錄起來.

 

連接郵件服務器并登陸

Python中有smtplib模塊可供使用, 將它導入進來. 在發(fā)送郵件服務器地址信息那里可以看到連接有兩種方式, 一種是普通連接, 一種是經(jīng)過加密的連接. 在腳本中就根據(jù)需求去構建兩種不同的鏈接對象. 通過郵件服務器地址這里的server_host也就是smtp.exmail.qq.com和默認的服務器端口(SMTP方式默認使用25端口而SMTP_SSL就是默認使用465端口, 通常郵件服務器都是可以使用默認端口的)建立與郵件服務器之間的連接. 并通過郵箱賬戶和上面第三步中設置的授權密碼登錄郵箱服務器. 沒有異常信息的話就連接郵件服務器并登錄成功了.

 

發(fā)送文本郵件

發(fā)送郵件之前先驗證一下當前是否已經(jīng)登錄到郵件服務器. 再通過email模塊中的MIMEText構建出包含發(fā)件人, 收件人列表, 郵件標題和郵件內(nèi)容的消息體.因為這里是發(fā)送文本內(nèi)容的郵件, 所以content_type是plain.

 

構建完消息體之后就可以直接調用SMTP的sendmail方法, 將消息體從發(fā)件方發(fā)送到收件列表中的收件郵箱中去.

 

發(fā)送Html郵件

如果發(fā)送普通文本郵件成功了, 那么想要發(fā)送html內(nèi)容的郵件就很簡單了, 稍微改一下上面的代碼給content_type多一種html的選擇就可以了. 通過外部的參數(shù)控制構建消息體是純文件內(nèi)容還是html內(nèi)容. 這樣就可以使用一些html模板來發(fā)送固定格式的郵件.

 

發(fā)送附件

首先從email模塊中引入MIMEMultipart. 從這個MIME擴展類的名字也可以看出它的作用是可以構建多個MIME的消息體, 并將它們裝配起來.繼續(xù)修改前面的代碼. 根據(jù)發(fā)件人, 收件人列表和郵箱標題構建出多MIME實例.

 

接著根據(jù)參數(shù)決定構建純文本還是Html內(nèi)容的消息體, 將該包含郵件內(nèi)容的消息體裝載進上面初始化過的multi_msg中. 完成郵件內(nèi)容部分的填充.

 

完成代碼改造之后就要加入對附件的支持, 遍歷外部傳入的文件列表, 并根據(jù)文件構建出包含附件的消息體, 將其依次裝載進multi_msg中.

 

打開遍歷文件列表時拿到附件, 將其初始化為MIME消息體, 并且設置附件的文件屬性和附件的名字.

 

匯總

功能代碼完成之后再通過getopt構建出來外部參數(shù)指令, 方便外部調用腳本.

 

執(zhí)行腳本

 

收到群發(fā)帶附件的郵件 

 

責任編輯:龐桂玉 來源: 馬哥Linux運維
相關推薦

2022-09-02 15:08:02

Python郵件發(fā)送

2022-01-28 15:04:57

Python日志郵件

2023-12-06 11:10:08

2020-07-14 09:58:01

Python開發(fā)工具

2019-09-20 13:48:23

BashLinux命令

2019-08-08 07:25:11

BashLinux命令

2020-07-27 16:52:59

Mailmerge定制郵件系統(tǒng)應用

2024-11-15 07:00:00

Python發(fā)送郵件

2010-03-03 10:18:17

Python發(fā)送郵件

2019-05-20 16:21:51

LinuxShell監(jiān)控磁盤

2025-04-11 08:25:36

2009-12-14 17:23:31

2021-06-29 11:40:51

Python郵件命令

2021-06-11 06:54:34

程序郵件Django

2020-02-20 14:40:53

Vim郵件開源

2024-09-05 08:58:37

2011-01-19 14:32:17

Thunderbird設置

2009-08-04 09:39:11

2011-08-02 11:30:41

iOS開發(fā) 郵件發(fā)送

2009-12-02 16:38:26

PHP發(fā)送郵件函數(shù)
點贊
收藏

51CTO技術棧公眾號