使用Python發(fā)送HTML格式郵件的步驟詳解
使用Python發(fā)送HTML格式的郵件
設(shè)置郵件信息和內(nèi)容
首先,我們需要設(shè)置郵件的基本信息,如發(fā)件人、收件人、主題等。您可以使用 email
和 smtplib
庫來完成這一任務(wù)。
郵件信息
sender_email = "your_email@example.com" receiver_email = "recipient@example.com" subject = "HTML郵件示例"
構(gòu)建HTML內(nèi)容
在郵件的HTML內(nèi)容中,您可以編寫任何格式和樣式的內(nèi)容。在這個(gè)示例中,我們構(gòu)建了一個(gè)簡單的HTML頁面。
HTML內(nèi)容
html_content = """ <html> <head></head> <body> <h1>這是一個(gè)HTML郵件示例</h1> <p>這是一封使用Python發(fā)送的帶有HTML內(nèi)容的郵件。</p> </body> </html> """
嵌入圖片
如果您想在郵件中嵌入圖片,需要按以下步驟操作:
- 通過二進(jìn)制模式打開圖片文件。
- 讀取圖片的二進(jìn)制數(shù)據(jù)。
- 創(chuàng)建一個(gè)
MIMEImage
對(duì)象,將圖片數(shù)據(jù)附加到該對(duì)象上,并設(shè)置Content-ID
。 - 通過
msg.attach()
方法將圖片添加到郵件內(nèi)容中。
嵌入圖片代碼
from email.mime.image import MIMEImage with open("path_to_your_image.png", "rb") as image_file: image_data = image_file.read() image = MIMEImage(image_data) image.add_header("Content-ID", "<image1>") msg.attach(image)
發(fā)送郵件
使用SMTP協(xié)議發(fā)送郵件需要配置SMTP服務(wù)器的信息,以及發(fā)件人的用戶名和密碼。在本例中,我們使用了QQ郵箱的SMTP服務(wù)器。
發(fā)送郵件代碼,(未加入圖片)
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText # 郵件信息 sender_email = "350728668@qq.com" receiver_email = "1443004194@qq.com" subject = "HTML郵件示例" html_content = """ <html> <head></head> <body> <h1>這是一個(gè)HTML郵件示例</h1> <p>這是一封使用Python發(fā)送的帶有HTML內(nèi)容的郵件。</p> </body> </html> """ # 設(shè)置郵件內(nèi)容 msg = MIMEMultipart() msg["From"] = sender_email msg["To"] = receiver_email msg["Subject"] = subject msg.attach(MIMEText(html_content, "html")) # 連接到SMTP服務(wù)器并發(fā)送郵件 smtp_server = "smtp.qq.com" smtp_port = 465 # 使用SSL加密連接的端口 smtp_username = "350728668@qq.com" smtp_password = "gxsdasdasdafcbag" #smtp_password為授權(quán)碼,上邊的為隨機(jī)生成不能正常使用。 server = None # 初始化server變量 try: server = smtplib.SMTP_SSL(smtp_server, smtp_port) # 使用SMTP_SSL來建立SSL加密連接 server.login(smtp_username, smtp_password) server.sendmail(sender_email, receiver_email, msg.as_string()) print("郵件發(fā)送成功!") except Exception as e: print("郵件發(fā)送失敗:", str(e)) finally: if server: server.quit()
運(yùn)行代碼:
郵件發(fā)送成功!目標(biāo)郵箱已經(jīng)接收到文本郵件。
總結(jié)
這篇博客介紹了如何使用Python發(fā)送帶有HTML內(nèi)容的郵件。我們了解了設(shè)置郵件信息、構(gòu)建HTML內(nèi)容、嵌入圖片和發(fā)送郵件的基本步驟和示例代碼。希望這篇博客能夠幫助您更好地理解如何在Python中發(fā)送帶有圖片的網(wǎng)頁郵件。通過詳細(xì)的步驟和示例代碼,您可以更輕松地在自己的項(xiàng)目中應(yīng)用這些概念。
以上就是使用Python發(fā)送HTML格式郵件的操作指南的詳細(xì)內(nèi)容,更多關(guān)于Python發(fā)送HTML格式的郵件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Django 404、500頁面全局配置知識(shí)點(diǎn)詳解
在本篇文章里小編給大家整理了關(guān)于Django 404、500頁面全局配置知識(shí)點(diǎn)詳解,需要的朋友們可以學(xué)習(xí)下。2020-03-03解讀sqlalchemy的常用數(shù)據(jù)類型有哪些
這篇文章主要介紹了解讀sqlalchemy的常用數(shù)據(jù)類型有哪些,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03python pandas中索引函數(shù)loc和iloc的區(qū)別分析
在數(shù)據(jù)分析過程中,很多時(shí)候我們需要從數(shù)據(jù)表中提取出我們需要的部分,而這么做的前提是我們需要先索引出這一部分?jǐn)?shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于python pandas中索引函數(shù)loc和iloc區(qū)別的相關(guān)資料,需要的朋友可以參考下2021-09-09pytorch中的matmul與mm,bmm區(qū)別說明
這篇文章主要介紹了pytorch中的matmul與mm,bmm區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05python實(shí)現(xiàn)MySQL?數(shù)據(jù)庫表格創(chuàng)建?數(shù)據(jù)插入及獲取插入ID操作教程
這篇文章主要為大家介紹了python實(shí)現(xiàn)MySQL?數(shù)據(jù)庫表格創(chuàng)建?數(shù)據(jù)插入及獲取插入ID操作教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11python偏函數(shù)的實(shí)例用法總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python偏函數(shù)的實(shí)例用法總結(jié)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。2021-07-07詳解如何使用Python網(wǎng)絡(luò)爬蟲獲取招聘信息
在疫情階段,想找一份不錯(cuò)的工作變得更為困難,很多人會(huì)選擇去網(wǎng)上看招聘信息??墒钦衅感畔⒂幸恍┦清e(cuò)綜復(fù)雜的。本文將為大家介紹用Python爬蟲獲取招聘信息的方法,需要的可以參考一下2022-03-03