Python 3.x 中如何使用smtplib模組發送郵件
概述:
郵件是現代社會中重要的一種通訊方式,無論是個人還是企業,都需要透過電子郵件來進行訊息的傳遞和溝通。在Python中,我們可以使用smtplib模組來方便地發送郵件。本文將介紹如何在Python 3.x 中使用smtplib模組來傳送郵件,並給予對應的程式碼範例。
步驟一:導入smtplib模組和相關依賴模組
#首先,我們需要導入smtplib模組以及其他相關的依賴模組。在Python中使用smtplib發送郵件需要依賴以下模組:
import smtplib
from email.mime.text import MIMEText
from email.header import Header
步驟二:連接SMTP伺服器並登入
接下來,我們需要連接SMTP伺服器並登入。 SMTP(Simple Mail Transfer Protocol)是用來傳送郵件的協定。在使用smtplib發送郵件時,我們需要指定SMTP伺服器的位址和端口,並且根據情況是否需要進行身份驗證。
郵件提供者通常會提供SMTP伺服器的位址和連接埠以及對應的帳號和密碼。以QQ信箱為例,SMTP伺服器位址為smtp.qq.com,連接埠為465或587,需進行驗證。
smtp_server = 'smtp.qq.com'
smtp_port = 465
sender = 'your-email@qq.com'
password = 'your-email-password'
smtp_obj = smtplib.SMTP_SSL(smtp_server, smtp_port) # 建立SMTP對象,並使用SSL連接SMTP伺服器
smtp_obj.login(sender, password) # 登入SMTP伺服器
步驟三:設定郵件內容和標題
在發送郵件之前,我們需要設定郵件的內容和標題。使用email.mime.text模組的MIMEText類別可以方便地建立包含文字內容的郵件。
msg = MIMEText('郵件內容', 'plain', 'utf-8') # 建立一個MIMEText對象,第一個參數為郵件內容,第二個參數為內容類型,第三個參數為字元編碼
msg['From'] = Header('寄件者', 'utf-8') # 設定寄件者
msg['To'] = Header('收件者' , 'utf-8') # 設定收件者
msg['Subject'] = Header('郵件標題', 'utf-8') # 設定郵件標題
步驟四:傳送郵件
設定好郵件的內容和標題之後,我們就可以發送郵件了。使用SMTP物件的sendmail方法可以將郵件傳送出去。
receiver = 'receiver-email@example.com' # 收件者信箱位址
smtp_obj.sendmail(sender, receiver, msg.as_string()) # 傳送郵件
步驟五:關閉SMTP連線
在發送完郵件之後,為了釋放資源,我們需要關閉SMTP連線。
smtp_obj.quit() # 關閉SMTP連線
完整範例程式碼如下:
import smtplib
from email.mime.text import MIMEText
from email .header import Header
smtp_server = 'smtp.qq.com'
smtp_port = 465
sender = 'your-email@qq.com'
password = 'your-email-password '
smtp_obj = smtplib.SMTP_SSL(smtp_server, smtp_port)
smtp_obj.login(sender, password)
msg = MIMEText('郵件內容', 'plain', 'utf-
##msg = MIMEText('郵件內容', 'plain', 'utf-
msg = MIMEText('郵件內容', 'plain', 'utf-
msg = MIMEText('郵件內容', 'plain', 'utf-
msg = MIMEText('郵件內容', 'plain', 'utf-
以上是Python 3.x 中如何使用smtplib模組發送郵件的詳細內容。更多資訊請關注PHP中文網其他相關文章!