利用Python yagmail三行代碼實(shí)現(xiàn)發(fā)送郵件
Python 發(fā)送郵件
我以前在通過(guò)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ā)送郵箱用戶(hù)/密碼
user = 'username@sina.com'
password = '123456'
# 發(fā)送郵箱
sender = 'username@sina.com'
# 接收郵箱
receiver = 'receive@126.com'
# 發(fā)送郵件主題
subject = 'Python email test'
# 編寫(xiě)HTML類(lèi)型的郵件正文
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ù)雜,只要你理解使用過(guò)郵箱發(fā)送郵件,那么以下問(wèn)題是你必須要考慮的:
- 你登錄的郵箱帳號(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ù)雜,但是并沒(méi)有今天要介紹的方法簡(jiǎn)單!
今天要介紹的重點(diǎn)對(duì)象——yagmail庫(kù)
github項(xiàng)目地址: https://github.com/kootenpv/yagmail (本地下載)
話不多說(shuō),先看例子:
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è)問(wèn)題就來(lái)了,我們平時(shí)登陸郵箱一般賬號(hào)密碼登陸有些時(shí)候好像是要打驗(yàn)證碼的呀,這樣python就傳了個(gè)賬號(hào)和密碼真的能把郵件發(fā)出去嗎?然鵝此密碼非彼密碼,用的密碼是郵箱中的授權(quán)碼,就是專(zhuān)門(mén)授權(quán)給機(jī)器登陸的密碼。一般郵箱中,進(jìn)入設(shè)置,然后POP3/SMTP/IMAP設(shè)置,打開(kāi)服務(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à)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Python自動(dòng)重新加載模塊詳解(autoreload module)
這篇文章主要介紹了Python自動(dòng)重新加載模塊詳解(autoreload module),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
基于Python編寫(xiě)一個(gè)簡(jiǎn)單的服務(wù)注冊(cè)發(fā)現(xiàn)服務(wù)器
我們都知道有很多的非常著名的注冊(cè)服務(wù)器,例如:?Consul、ZooKeeper、etcd,甚至借助于redis完成服務(wù)注冊(cè)發(fā)現(xiàn)。但是本篇文章我們將使用python?socket寫(xiě)一個(gè)非常簡(jiǎn)單的服務(wù)注冊(cè)發(fā)現(xiàn)服務(wù)器,感興趣的可以了解一下2023-04-04
pyhton中__pycache__文件夾的產(chǎn)生與作用詳解
這篇文章主要介紹了pyhton中__pycache__文件夾的產(chǎn)生與作用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
解決pycharm py文件運(yùn)行后停止按鈕變成了灰色的問(wèn)題
今天小編就為大家分享一篇解決pycharm py文件運(yùn)行后停止按鈕變成了灰色的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
Python標(biāo)準(zhǔn)庫(kù)使用OrderedDict類(lèi)的實(shí)例講解
今天小編就為大家分享一篇關(guān)于Python標(biāo)準(zhǔn)庫(kù)使用OrderedDict類(lèi)的實(shí)例講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
Python常用隨機(jī)數(shù)與隨機(jī)字符串方法實(shí)例
這篇文章主要介紹了Python常用隨機(jī)數(shù)與隨機(jī)字符串方法實(shí)例,本文講解了隨機(jī)整數(shù)、隨機(jī)選取0到100間的偶數(shù)、隨機(jī)浮點(diǎn)數(shù)、隨機(jī)字符串等常用隨機(jī)方法,需要的朋友可以參考下2015-04-04

