Python是一種多功能的編程語言,可以用於Web開發、自動化、數據分析等多種應用。在應用Python編寫郵件時,可以利用Python內置的smtplib模塊以及email模塊來發送電子郵件。這些模塊提供了可靠、方便的方法,使得Python成為一個廣泛用於發送自動郵件的工具。
一、發送純文本電子郵件
發送純文本郵件非常簡單,只需使用Python內置的smtplib和email模塊。以下是純文本電子郵件發送代碼示例:
import smtplib
from email.mime.text import MIMEText
msg = MIMEText('這是一封純文本郵件')
msg['Subject'] = 'Python發送郵件示例'
msg['From'] = 'sender@example.com'
msg['To'] = 'receiver@example.com'
smtp = smtplib.SMTP('smtp.example.com')
smtp.login('username', 'password')
smtp.sendmail('sender@example.com', 'receiver@example.com', msg.as_string())
smtp.quit()
在上面的代碼中,我們首先導入了SMTP庫和email模塊。然後創建了一個純文本郵件對象msg,設置了消息主題,發件人,收件人等信息。然後打開SMTP連接,通過SMTP服務器發送郵件,並關閉連接。
二、發送帶HTML格式的電子郵件
發送HTML格式郵件時,我們需要在MIMEText對象中設置郵件內容為HTML格式,實例如下:
import smtplib
from email.mime.text import MIMEText
msg = MIMEText('<h1>Python發送郵件示例</h1><p>這是一封HTML郵件</p>', 'html', 'utf-8')
msg['Subject'] = 'Python發送郵件示例'
msg['From'] = 'sender@example.com'
msg['To'] = 'receiver@example.com'
smtp = smtplib.SMTP('smtp.example.com')
smtp.login('username', 'password')
smtp.sendmail('sender@example.com', 'receiver@example.com', msg.as_string())
smtp.quit()
在這個代碼示例中,我們設置消息主體的內容為HTML格式,並將第二個參數設置為’html’。這樣郵件內容就會被解釋為HTML代碼。
三、發送帶附件的電子郵件
有時我們需要通過電子郵件發送附件,比如照片、文檔、或其他文件。這時,我們可以使用Python的email.mime.multipart類。此類允許我們將多個MIME對象組合在一起,從而能夠同時包含文本和附件。例如:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
msg = MIMEMultipart()
msg['Subject'] = 'Python發送郵件示例'
msg['From'] = 'sender@example.com'
msg['To'] = 'receiver@example.com'
body = MIMEText('這是一封帶附件的郵件')
msg.attach(body)
with open('example.pdf', 'rb') as f:
attachment = MIMEApplication(f.read(), _subtype='pdf')
attachment.add_header('Content-Disposition', 'attachment', filename='example.pdf')
msg.attach(attachment)
smtp = smtplib.SMTP('smtp.example.com')
smtp.login('username', 'password')
smtp.sendmail('sender@example.com', 'receiver@example.com', msg.as_string())
smtp.quit()
在上面的代碼中,我們創建了一個MIMEMultipart對象,將文本主體和附件添加到此對象中。我們使用Python的with關鍵字來打開文件,並將其包含到我們的郵件的附件部分。此外,我們使用add_header()方法來設置附件的文件名和文件類型。
結論
本文介紹了Python編寫郵件的公共庫的使用方法。Python的smtplib和email模塊提供了一種快速、便捷、強大的途徑來發送電子郵件。使用Python編寫郵件,可以方便的實現自動發送批量郵件、定時發送、發送電子文檔等眾多功能。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/257704.html