一、郵件發送基礎
Python 中使用smtplib庫實現郵件發送。發送郵件基礎步驟如下:
import smtplib
from email.mime.text import MIMEText
# 配置郵件相關信息
msg = MIMEText('郵件內容')
msg['Subject'] = '郵件主題'
msg['From'] = '發件人地址'
msg['To'] = '收件人地址'
# 通過 SMTP 發送郵件
smtp = smtplib.SMTP()
smtp.connect('smtp.163.com', 25)
smtp.login('發件人郵箱', '郵箱授權碼')
smtp.sendmail('發件人地址', ['收件人地址'], msg.as_string())
smtp.quit()
以上代碼實現了簡單的郵件發送流程,但在實際應用中,郵件需要進行格式化、附件添加等操作。
二、郵件格式化
郵件的格式化通俗來講就是在郵件內容中增加HTML 或者 CSS 標籤,以便實現加粗、顏色、排版等功能。通過MIMEText構造html可支持HTML的郵件內容,可使用HTML中的所有標籤與語法,郵件會被渲染為HTML格式。
import smtplib
from email.mime.text import MIMEText
msg = MIMEText('Hello World
這是一封HTML郵件
', 'html', 'utf-8')
msg['Subject'] = '郵件主題'
msg['From'] = '發件人地址'
msg['To'] = '收件人地址'
smtp = smtplib.SMTP()
smtp.connect('smtp.163.com', 25)
smtp.login('發件人郵箱', '郵箱授權碼')
smtp.sendmail('發件人地址', ['收件人地址'], msg.as_string())
smtp.quit()
以上代碼實現了HTML格式郵件的發送。HTML 郵件的優點在於可以使郵件內容更加豐富多彩,更顯眼。
三、郵件附件
郵件的附件可以是圖片、文檔、壓縮包等形式,MIMEImage 介面用來處理圖片附件,MIMEText 用來處理文本附件,MIMEBase 介面可處理各種附件。
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
import os
msg = MIMEMultipart() # 生成包含多個部分的郵件體
msg['Subject'] = '測試郵件'
msg['From'] = '發件人地址'
msg['To'] = '收件人地址'
# 文本部分
part_text = MIMEText('這是一封文本 + 圖片的郵件', 'plain', 'utf-8')
msg.attach(part_text)
# 圖片部分
jpg_path = '/image.jpg'
with open(os.getcwd() + jpg_path, 'rb') as f:
part_img = MIMEImage(f.read())
msg.attach(part_img)
smtp = smtplib.SMTP()
smtp.connect('smtp.163.com', 25)
smtp.login('發件人郵箱', '郵箱授權碼')
smtp.sendmail('發件人地址', ['收件人地址'], msg.as_string())
smtp.quit()
四、總結
以上便是 Python 郵件發送中的基礎常見操作,通過格式化郵件內容及添加附件等操作,可以使郵件更加生動形象,方便企業進行宣傳、推廣等活動。
值得注意的是,在郵件內容中添加標籤時,應該考慮到郵件客戶端對標籤兼容性,盡量減少使用一些兼容性較差的標籤。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/252005.html