利用Python yagmail三行代碼實(shí)現(xiàn)發(fā)送郵件
Python 發(fā)送郵件
我以前在通過Python實(shí)現(xiàn)自動(dòng)化郵件功能的時(shí)候是這樣的:
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 發(fā)送郵箱服務(wù)器
smtpserver = 'smtp.sina.com'
# 發(fā)送郵箱用戶/密碼
user = 'username@sina.com'
password = '123456'
# 發(fā)送郵箱
sender = 'username@sina.com'
# 接收郵箱
receiver = 'receive@126.com'
# 發(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(smtpserver)
smtp.login(user, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
其實(shí),這段代碼也并不復(fù)雜,只要你理解使用過郵箱發(fā)送郵件,那么以下問題是你必須要考慮的:
- 你登錄的郵箱帳號(hào)/密碼
- 對(duì)方的郵箱帳號(hào)
- 郵件內(nèi)容(標(biāo)題,正文,附件)
- 郵箱服務(wù)器(SMTP.xxx.com/pop3.xxx.com)
其實(shí)網(wǎng)上其實(shí)是有關(guān)于python發(fā)郵件的教程的,主要用的都是smtplib庫(kù),雖然也不復(fù)雜,但是并沒有今天要介紹的方法簡(jiǎn)單!
今天要介紹的重點(diǎn)對(duì)象——yagmail庫(kù)
github項(xiàng)目地址: https://github.com/kootenpv/yagmail (本地下載)
話不多說,先看例子:
import yagmail
yag = yagmail.SMTP(user='user@163.com',password='1234',host='smtp.163.com')
contents = ['這里是內(nèi)容']
yag.send('target@qq.com','主題:這是一個(gè)主題',contents)

效果就是這樣
簡(jiǎn)單講解
yagmail.SMTP()參數(shù)
yagmail.SMTP()里面的幾個(gè)重要參數(shù)!user和password顧名思義啦,就是你自己的郵箱賬號(hào)和密碼
但是這個(gè)問題就來了,我們平時(shí)登陸郵箱一般賬號(hào)密碼登陸有些時(shí)候好像是要打驗(yàn)證碼的呀,這樣python就傳了個(gè)賬號(hào)和密碼真的能把郵件發(fā)出去嗎?然鵝此密碼非彼密碼,用的密碼是郵箱中的授權(quán)碼,就是專門授權(quán)給機(jī)器登陸的密碼。一般郵箱中,進(jìn)入設(shè)置,然后POP3/SMTP/IMAP設(shè)置,打開服務(wù)就可以設(shè)置授權(quán)碼了。
send()參數(shù)
yag.send(to=args.to,subject=args.subject,contents=args.contents,attachments=args.attachments)
args.to 是收件人郵箱(給多個(gè)目標(biāo)發(fā)郵件只需創(chuàng)建一個(gè)列表,將郵箱放在列表中即可)
args.subject 是主題
args.contents 是郵箱正文
args.attachments 是附件(傳入文件路徑)
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Python模塊/包/庫(kù)安裝的六種方法及區(qū)別
這篇文章主要介紹了Python模塊/包/庫(kù)安裝六種方法,通過實(shí)例代碼給大家介紹了python中模塊、包、庫(kù)的區(qū)別和使用,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
Django 對(duì)象關(guān)系映射(ORM)源碼詳解
這篇文章主要介紹了Django 對(duì)象關(guān)系映射(ORM)源碼詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
python Qt5實(shí)現(xiàn)窗體跟蹤鼠標(biāo)移動(dòng)
今天小編就為大家分享一篇python Qt5實(shí)現(xiàn)窗體跟蹤鼠標(biāo)移動(dòng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
django數(shù)據(jù)庫(kù)自動(dòng)重連的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于django數(shù)據(jù)庫(kù)自動(dòng)重連的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
解決python中安裝serial及No module named ‘serial.too
這篇文章主要介紹了解決python中安裝serial及No module named ‘serial.tools‘等問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
Django實(shí)現(xiàn)簡(jiǎn)單分頁功能的方法詳解
這篇文章主要介紹了Django實(shí)現(xiàn)簡(jiǎn)單分頁功能的方法,結(jié)合實(shí)例形式分析了django的第三方模塊django-pure-pagination的安裝、使用及實(shí)現(xiàn)分頁的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
Matplotlib實(shí)戰(zhàn)之堆疊面積圖繪制詳解
堆疊面積圖和面積圖都是用于展示數(shù)據(jù)隨時(shí)間變化趨勢(shì)的統(tǒng)計(jì)圖表,但它們的特點(diǎn)有所不同,堆疊面積圖既能看到各數(shù)據(jù)系列的走勢(shì),又能看到整體的規(guī)模,下面我們就來看看如何繪制堆疊面積圖吧2023-08-08
np.meshgrid中的indexing參數(shù)問題解決
本文主要介紹了np.meshgrid中的indexing參數(shù)問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03

