SMTP (Simple Mail Transfer Protocol) 是用於電子郵件傳輸的標準協議之一。SMTP是一個客戶端服務器協議,它包括從發送郵件的客戶端到接收郵件的服務器之間的交互。
Python內置了一個SMTP模塊,可以使用SMTP 25協議發送電子郵件。在本篇文章中,我們將介紹如何使用Python SMTP模塊發送電子郵件。
一、連接SMTP服務器
在Python中使用SMTP發送郵件之前,我們需要先連接SMTP服務器。我們可以使用Python內置的smtplib模塊來連接SMTP服務器。
import smtplib smtp_obj = smtplib.SMTP('smtp.gmail.com', 587) smtp_obj.ehlo() smtp_obj.starttls() smtp_obj.login('your_email@gmail.com', 'your_password')
上面的代碼用於連接Gmail的SMTP服務器。首先,我們使用smtplib.SMTP()
函數連接SMTP服務器。
然後,我們使用ehlo()
函數(或HELO命令)與服務器進行通信。接下來,我們使用starttls()
函數來
開啟TLS加密連接。最後,我們使用login()
函數進行SMTP身份驗證。
二、發送電子郵件
一旦我們與SMTP服務器建立連接並進行身份驗證,我們就可以開始發送電子郵件。以下是使用Python SMTP模塊發送電子郵件的示例代碼:
from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.image import MIMEImage msg = MIMEMultipart() msg['From'] = 'your_email@gmail.com' msg['To'] = 'recipient_email@example.com' msg['Subject'] = 'Subject of Email' message = 'Here is the body of the email' msg.attach(MIMEText(message)) with open('image.png', 'rb') as f: img_data = f.read() image = MIMEImage(img_data, name='image.png') msg.attach(image) smtp_obj.sendmail('your_email@gmail.com', 'recipient_email@example.com', msg.as_string())
上面的示例代碼演示了如何使用Python SMTP模塊發送電子郵件。我們創建了一個MIMEMultipart對象並設置發件人、收件人和主題。
然後使用MIMEText()
函數將消息正文添加到MIMEMultipart對象中。接着,我們使用open()
函數
打開圖片文件並將圖片附加到MIMEMultipart對象中。最後,我們使用sendmail()
函數發送電子郵件。
三、關閉SMTP連接
發送完電子郵件後,我們需要使用quit
函數關閉SMTP服務器連接。
smtp_obj.quit()
以上是利用Python SMTP 25發送電子郵件的基本流程。在實際應用中,我們還可以設置其他參數,比如添加附件和HTML內容等。
希望這篇文章能夠幫助你了解如何在Python中使用SMTP發送電子郵件!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/247819.html