之前使用的python的smtplib、email模塊發模塊的一步步驟是:
一、先導入smtplib模塊 導入MIMEText庫用來做純文本的郵件模板
二、發郵件幾個相關的參數,每個郵箱的發件服務器不一樣,以126為例子百度搜索服務器是 smtp.126.com
三、寫郵件主題和正文,這里的正文是HTML格式的
四、最后調用SMTP發件服務
一般發郵件方法
我以前在通過Python實現自動化郵件功能的時候是這樣的:
import smtplibfrom email.mime.text import MIMETextfrom 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()其實,這段代碼也并不復雜,只要你理解使用過郵箱發送郵件,那么以下問題是你必須要考慮的:
yagmail 實現發郵件
yagmail 可以更簡單的來實現自動發郵件功能。
github項目地址: https://github.com/kootenpv/yagmail
安裝
pip install yagmail
簡單例子
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)總共四行代碼搞定,是不是比上面的例子簡單太多了。
給多個用戶發送郵件
# 發送郵件yag.send(['aa@126.com','bb@qq.com','cc@gmail.com'], 'subject', contents)
只需要將接收郵箱 變成一個list即可。
發送帶附件的郵件
# 發送郵件yag.send('aaaa@126.com', '發送附件', contents, ["d://log.txt","d://baidu_img.jpg"])只需要添加要發送的附件列表即可。

我都快感動哭了,到哪兒去找這么良心庫去?簡單的有點不像編程語言!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答