如何使用 Python 自動(dòng)發(fā)送郵件
Python是一種非常流行的編程語言,可以用于多種用途,包括自動(dòng)化任務(wù)。其中一個(gè)常見的自動(dòng)化任務(wù)是自動(dòng)發(fā)送郵件。在本文中,我們將介紹如何使用Python編寫腳本來自動(dòng)發(fā)送郵件。
要使用Python發(fā)送電子郵件,我們需要使用smtplib和email模塊。smtplib模塊是Python標(biāo)準(zhǔn)庫中的一部分,用于發(fā)送電子郵件。email模塊用于創(chuàng)建電子郵件消息。
以下是一個(gè)Python自動(dòng)發(fā)送郵件的示例代碼:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from email.utils import COMMASPACE
from email.header import Header
# 郵件服務(wù)器配置
SMTP_SERVER = 'smtp.gmail.com'
SMTP_PORT = 587
SMTP_USER = 'your_email@gmail.com'
SMTP_PASSWORD = 'your_password'
# 收件人和郵件內(nèi)容配置
TO = ['recipient1@example.com', 'recipient2@example.com']
SUBJECT = 'Test Email from Python'
BODY = 'This is a test email sent from Python.'
# 創(chuàng)建郵件對(duì)象
msg = MIMEMultipart()
msg['From'] = SMTP_USER
msg['To'] = COMMASPACE.join(TO)
msg['Subject'] = Header(SUBJECT, 'utf-8')
# 添加郵件正文
msg.attach(MIMEText(BODY, 'plain', 'utf-8'))
# 添加附件
filename = 'example.txt'
with open(filename, 'rb') as f:
part = MIMEApplication(f.read(), Name=filename)
part['Content-Disposition'] = 'attachment; filename="%s"' % filename
msg.attach(part)
# 發(fā)送郵件
try:
smtp = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
smtp.starttls()
smtp.login(SMTP_USER, SMTP_PASSWORD)
smtp.sendmail(SMTP_USER, TO, msg.as_string())
smtp.quit()
print('郵件發(fā)送成功.')
except Exception as e:
print('郵件發(fā)送失敗:', e)
在上述代碼中,我們首先定義了郵件服務(wù)器的配置,包括SMTP服務(wù)器地址、端口號(hào)、用戶名和密碼。然后,我們定義了收件人和郵件內(nèi)容,包括收件人地址、郵件主題和郵件正文。
接下來,我們使用MIMEMultipart類創(chuàng)建一個(gè)郵件對(duì)象,并設(shè)置發(fā)件人、收件人和主題。然后,我們使用MIMEText類將郵件正文添加到郵件對(duì)象中。最后,我們使用MIMEApplication類添加一個(gè)附件到郵件對(duì)象中。
最后,我們使用smtplib模塊中的SMTP類來發(fā)送郵件。我們首先創(chuàng)建一個(gè)SMTP對(duì)象,連接到SMTP服務(wù)器并進(jìn)行身份驗(yàn)證。然后,我們使用sendmail方法將郵件發(fā)送到收件人。
如果郵件發(fā)送成功,程序?qū)⒋蛴 班]件發(fā)送成功.”。否則,它將打印“郵件發(fā)送失敗”和錯(cuò)誤消息。
總結(jié)一下,Python是一種非常強(qiáng)大的編程語言,可以用于自動(dòng)化各種任務(wù),包括自動(dòng)發(fā)送郵件。使用Python的smtplib和email模塊,我們可以編寫腳本來自動(dòng)發(fā)送電子郵件,從而提高效率并減少工作量。