一、Python 發送郵件的基本原理
在發送郵件前,需要先了解郵件的發送原理。郵件發送的過程大致可以分為以下幾步:
(1)打開郵箱客戶端:比如Outlook,Thunderbird等
(2)連接 SMTP 伺服器:所有的郵件客戶端都需要連接一個SMTP伺服器,該伺服器可以發送郵件或轉發郵件到其他的SMTP伺服器;
(3)驗證登錄信息:如果你是第一次登錄伺服器,還需要在郵箱客戶端中設置POP和IMAP等協議的用戶名和密碼;
(4)編輯郵件:填寫發送人、收件人、主題、內容等信息;
(5)發送郵件:將郵件支付給SMTP伺服器,SMTP伺服器再通過郵件路由將郵件發送到指定的收件人郵箱。
Python發送郵件的過程類似,需要連接到SMTP伺服器,處理授權和驗證等信息,然後組裝郵件正文和附件並將郵件發送到指定的收件人郵箱。
二、Python 發送郵件的基本步驟
Python發送郵件的基本流程包括如下幾個步驟:
(1)導入發送郵件所需的庫;
(2)配置發送郵件的SMTP伺服器信息;
(3)配置郵件發送人和郵件接收人及郵件主題等信息;
(4)讀取郵件正文內容和郵件附件(如果需要);
(5)將郵件以指定的格式進行組裝,比如HTML格式和純文本格式;
(6)將郵件發送到指定的收件人郵箱。
三、Python 發送郵件的實現過程
# 導入發送郵件所需的庫 import smtplib from email.mime.text import MIMEText # 導入 MIMEText 類發送純文本郵件 from email.mime.multipart import MIMEMultipart # 導入 MIMEMultipart 類發送帶有附件的郵件 from email.mime.application import MIMEApplication # 導入 MIMEApplication 類發送二進位附件 ## 配置郵件伺服器信息 smtp_server = "smtp.exmail.qq.com" # 設置發送郵件的 SMTP 伺服器地址 smtp_port = 465 # 設置發送郵件的 SMTP 伺服器埠號,一般為 25 埠 sender = "webmaster@test.com" # 設置發送郵件的郵箱地址 username = "webmaster@test.com" # 設置發送郵件的郵箱用戶名 password = "password" # 設置發送郵件的郵箱密碼或授權碼 ## 配置郵件信息 receivers = ["test1@test.com", "test2@test.com"] # 設置郵件接收人地址 subject = "這是一封帶有附件的測試郵件" # 設置郵件主題 text = "這是一封測試郵件,請勿回復!" # 設置郵件正文 file_path = "test.txt" # 設置郵件附件文件路徑 # 讀取郵件附件,使用 MIMEApplication 類組裝附件 with open(file_path, "rb") as f: attachment = MIMEApplication(f.read()) attachment.add_header("Content-Disposition", "attachment", filename=file_path) # 使用 MIMEMultipart 類組裝郵件附件和正文 msg = MIMEMultipart() msg["From"] = sender msg["To"] = ";".join(receivers) msg["Subject"] = subject msg.attach(MIMEText(text, "plain", "utf-8")) msg.attach(attachment) # 連接 SMTP 伺服器並發送郵件 smtp = smtplib.SMTP_SSL(smtp_server, smtp_port) smtp.login(username, password) smtp.sendmail(sender, receivers, msg.as_string()) smtp.quit()
四、總結
本文介紹了使用Python編寫郵件發送程序的基本原理和實現步驟。學會使用Python發送郵件可以輕鬆實現自動通知,給運維管理人員和開發人員提供了很大的幫助。
原創文章,作者:XXCP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/133907.html