yagmail模塊是python中用來(lái)發(fā)送郵件的第三方模塊,簡(jiǎn)單快速。
環(huán)境
- python3.9
- win10 64bit
- yagmail==0.14.245
快速了解
下面是一份代碼樣本,用來(lái)可以快速了解一下yagmail模塊的使用。
import yagmail
try:
yag=yagmail.SMTP(user='11111@qq.com',password='authorization code',host='smtp.qq.com')
yag.send(to='22222@qq.com',subject='test',contents='Hello')
print('Email send success')
except:
print('Email send fail')
Email send success
先導(dǎo)入了yagmail模塊,通過(guò)SMTP創(chuàng)建了smtp服務(wù)實(shí)例yag,在利用實(shí)例的send方法發(fā)送郵件。
在創(chuàng)建smtp服務(wù)實(shí)例的時(shí)候,需要注意幾點(diǎn):
-
user:發(fā)件人郵箱地址 -
password:發(fā)件人郵箱是smtp服務(wù)的授權(quán)碼(并非登錄密碼) -
host:發(fā)件人郵箱的smtp服務(wù)器地址
上文是以qq郵箱為例,其他郵箱類(lèi)似,都需要獲取授權(quán)碼。
send方法用來(lái)發(fā)送郵件,主要設(shè)置的參數(shù)有:
-
to: 收件人郵箱地址 -
subject: 郵件主題 -
contents: 郵件內(nèi)容
多個(gè)收件人
設(shè)置to參數(shù)為list類(lèi)型,可以給多個(gè)人發(fā)郵件。
yag.send(to=['22222@qq.com','33333@qq.com'],subject='test',contents='Hello')
添加抄送
設(shè)置send方法中的cc(抄送)和bcc(秘密抄送)參數(shù),可添加抄送。當(dāng)需要抄送或秘密抄送多個(gè)人時(shí),cc/bcc參數(shù)設(shè)置為list。
# 添加抄送和秘密抄送
yag.send(to='22222@qq.com',subject='test',contents='Hello',cc='33333@qq.com',bcc='44444@qq.com')
# 添加多個(gè)抄送和秘密抄送
yag.send(to='22222@qq.com',subject='test',contents='Hello',
cc=['33333@qq.com','44444@qq.com'],bcc=['55555@qq.com','66666@qq.com'])
添加附件
設(shè)置send方法中的attachments參數(shù),可添加附件。需要添加多個(gè)附件時(shí),attachments參數(shù)設(shè)置為list。
# 添加單個(gè)附件
yag.send(to='22222@qq.com',subject='test',contents='Hello',attachments=r'E:\blog\python-email\email.jpg')
Email send fail
# 添加多個(gè)附件
yag.send(to='22222@qq.com',subject='test',contents='Hello',
attachments=[r'E:\blog\python-email\email.jpg',r'E:\blog\python-email\auto.jpg'])
發(fā)送HTML內(nèi)容
send方法中的contents參數(shù)為郵件的內(nèi)容,可以設(shè)置為html字符。
# 發(fā)送html內(nèi)容
yag.send(to='22222@qq.com',subject='test',contents='<h1>Hello</h1>')