我之前在經過Python實現自動化郵件功能的時候是這樣的:html
import smtplib from email.mime.text import MIMEText from email.header import Header # 發送郵箱服務器 smtpserver = 'smtp.sina.com' # 發送郵箱用戶/密碼 user = 'username@sina.com' password = '123456' # 發送郵箱 sender = 'username@sina.com' # 接收郵箱 receiver = 'receive@126.com' # 發送郵件主題 subject = 'Python email test' # 編寫HTML類型的郵件正文 msg = MIMEText('<html><h1>你好!</h1></html>','html','utf-8') msg['Subject'] = Header(subject, 'utf-8') # 鏈接發送郵件 smtp = smtplib.SMTP() smtp.connect(smtpserver) smtp.login(user, password) smtp.sendmail(sender, receiver, msg.as_string()) smtp.quit()
其實,這段代碼也並不複雜,只要你理解使用過郵箱發送郵件,那麼如下問題是你必需要考慮的:python
yagmail 能夠更簡單的來實現自動發郵件功能。服務器
安裝dom
pip install yagmail
簡單例子ui
import yagmail #連接郵箱服務器 yag = yagmail.SMTP( user="user@126.com", password="1234", host='smtp.126.com') # 郵箱正文 contents = ['This is the body, and here is just text http://somedomain/image.png', 'You can find an audio file attached.', '/local/path/song.mp3'] # 發送郵件 yag.send('taaa@126.com', 'subject', contents)
總共四行代碼搞定,是否是比上面的例子簡單太多了。spa
給多個用戶發送郵件code
# 發送郵件 yag.send(['aa@126.com','bb@qq.com','cc@gmail.com'], 'subject', contents)
只須要將接收郵箱 變成一個list便可。server
發送帶附件的郵件htm
# 發送郵件 yag.send('aaaa@126.com', '發送附件', contents, ["d://log.txt","d://baidu_img.jpg"])
只須要添加要發送的附件列表便可。blog