我們平時需要使用 Python 發送各類郵件,這個需求怎么來實作?答案其實很簡單,smtplib 和 email庫可以幫忙實作這個需求,smtplib 和 email 的組合可以用來發送各類郵件:普通文本,HTML 形式,帶附件,群發郵件,帶圖片的郵件等等,我們這里將會分幾節把發送郵件功能解釋完成,
smtplib 是 Python 用來發送郵件的模塊,email 是用來處理郵件訊息,
發送帶附件的郵件是利用 email.mime.multipart 的 MIMEMultipart 以及 email.mime.image 的 MIMEImage,重點是構造郵件頭資訊:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
sender = '***'
receiver = '***'
subject = 'python email test'
smtpserver = 'smtp.163.com'
username = '***'
password = '***'
msgRoot = MIMEMultipart('mixed')
msgRoot['Subject'] = 'test message'
# 構造附件
att = MIMEText(open('/Users/1.jpg', 'rb').read(), 'base64', 'utf-8')
att["Content-Type"] = 'application/octet-stream'
att["Content-Disposition"] = 'attachment; filename="1.jpg"'
msgRoot.attach(att)
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(username, password)
smtp.sendmail(sender, receiver, msgRoot.as_string())
smtp.quit()
注意:這里的代碼并沒有把例外處理加入,需要讀者自己處理例外,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/189665.html
標籤:其他
