傳送帶圖片的郵件

ai52learn發表於2020-10-23

我們平時需要使用 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
from email.mime.image import MIMEImage

sender = '***'
receiver = '***'
subject = 'python email test'
smtpserver = 'smtp.163.com'
username = '***'
password = '***'

msgRoot = MIMEMultipart('related')
msgRoot['Subject'] = 'test message'

msgText = MIMEText(
    ''' Some  HTML  text  and an image.good!''', 'html', 'utf-8')
msgRoot.attach(msgText)

fp = open('/Users/1.jpg', 'rb')
msgImage = MIMEImage(fp.read())
fp.close()

msgImage.add_header('Content-ID', '')
msgRoot.attach(msgImage)

smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(username, password)
smtp.sendmail(sender, receiver, msgRoot.as_string())
smtp.quit()

注意:這裡的程式碼並沒有把異常處理加入,需要讀者自己處理異常。

相關文章