Python發(fā)送郵件基礎(chǔ)知識與代碼講解!

前言
大家好,在上個月我們曾經(jīng)將第一階段的20篇文章進行整理,?可以點擊本文字直達。
在前一段時間的文章中,我們主要講解Python與Word/Excel/PPT等Office軟件的相關(guān)操作,現(xiàn)在我們將繼續(xù)分享如何用Python與更多的辦公軟件交互!
本文主要對郵件操作基礎(chǔ)知識及代碼進行介紹,用Python發(fā)郵件有哪些優(yōu)勢??
批量發(fā)送郵件,并且各郵件可以不同 高度自定義的定時發(fā)送 更有效地管理收件箱
基本概念
有關(guān)郵件的基本概念,可以查看下圖
代碼操作前的配置
以網(wǎng)易163郵箱為例,郵箱需要先開通POP3/SMTP/IMAP,可以按照下面步驟執(zhí)行

注意,之后我們在代碼里登錄郵箱用的不是賬號密碼,而是授權(quán)碼
如果是QQ郵箱,也可類似操作

安裝依賴模塊
yagmail:基于SMTP的發(fā)郵件模塊keyring:訪問系統(tǒng)密鑰環(huán)服務(wù),方便、安全地儲存密碼
在命令行中鍵入以下代碼可同時安裝兩個模塊:
pip?install?yagmail?keyring?--user
具體代碼操作
1.發(fā)送單個郵件
基本代碼邏輯如下
yagmail.SMTP(user=用戶名, host=SMTP服務(wù)器域名)
yagmail.SMTP(user=用戶名, password=授權(quán)碼, host=SMTP服務(wù)器域名)
mail.send(收件人用戶名,郵件標題,郵件內(nèi)容)
所以登陸郵箱并發(fā)送一封郵件的代碼可以這樣寫?
import?yagmail
mail?=?yagmail.SMTP(user='[email protected]',?host='smtp.163.com')?
contents?=?['第一段內(nèi)容',?'第二段內(nèi)容']?
mail.send('[email protected]',?'這是一封郵件',?contents)
注意,yagmail基礎(chǔ)設(shè)置中服務(wù)器地址需要和所用的郵箱對應(yīng)!
2. 群發(fā)郵件
從下圖可以看到,將收件的郵箱組合成列表形式,即可給多個聯(lián)系人群發(fā)郵件
3. 發(fā)送帶有HTML樣式的郵件
需要具備一定的前端知識,這里以附帶鏈接為例鏈接顯示的文字
import?yagmail
mail?=?yagmail.SMTP(user='[email protected]',?host='smtp.163.com')?
contents?=?['第一段',?'第二段',?'某度']?
mail.send('[email protected]',?'帶HTML樣式的郵件',?contents)
4. 發(fā)送帶有附件的郵件
yagmail非常智能,可以識別contents列表中本地路徑作為附件
import?yagmail
mail?=?yagmail.SMTP(user='[email protected]',?host='smtp.163.com')?
contents?=?['第一段',?'第二段',?r'C:\xxx\xxx']?
mail.send('[email protected]',?'帶HTML樣式的郵件',?contents)
5. 給郵件正文嵌入圖片
這里就出現(xiàn)問題了,我們往往把圖片存在本地,如果按上述的代碼在內(nèi)容列表中放圖片路徑的話,會以附件形式存圖片。
那么,如何用代碼將圖片嵌入正文中呢,用到的代碼為:yagmail.inline('圖片路徑')]
import?yagmail
mail?=?yagmail.SMTP(user='[email protected]',?host='smtp.163.com')?
contents?=?['第一段',?'第二段',?yagmail.inline(r'C:\xxx\xxx')]?
mail.send('[email protected]',?'帶HTML樣式的郵件',?contents)
對添加附件的代碼稍加改動,將你需要發(fā)送的圖片路徑替換即可!
-END-
上周的文章后早起曾推薦一本算法相關(guān)的書Tensorflow深度學(xué)習(xí)實戰(zhàn)大全(本書以TensorFlow為核心,分為3篇,共計15章節(jié)。第1篇主要介紹什么是深度學(xué)習(xí)、深度學(xué)習(xí)的本質(zhì)是什么、深度學(xué)習(xí)所使用的教材和方法,以及深度學(xué)習(xí)在圖像識別(MNIST)領(lǐng)域的應(yīng)用。第2篇是主要介紹在圖像識別領(lǐng)域深度學(xué)習(xí)技術(shù)的發(fā)展與演變。第3篇是介紹了生成對抗神經(jīng)網(wǎng)絡(luò)(GAN)現(xiàn)在京東和當當網(wǎng)購買本書均有優(yōu)惠,點擊下方圖片可以直達購買頁面查看詳情!
當時送了四本,但是早起看到有很多粉絲留言想要,又和出版社爭取了三本送給大家,其實每次留言送書選走心留言是很痛苦的一件事,所以這次就不用留言,直接抽獎送出,點擊本文字即可參與抽獎,祝大家好運~

