首頁 > 後端開發 > Python教學 > 如何使用 Python 以程式設計方式傳送電子郵件附件?

如何使用 Python 以程式設計方式傳送電子郵件附件?

Barbara Streisand
發布: 2024-12-18 02:24:10
原創
615 人瀏覽過

How to Programmatically Send Email Attachments Using Python?

如何使用Python 發送電子郵件附件

在Python 中發送電子郵件附件可能是一項簡單的任務,但對於初學者來說可能看起來令人畏懼。這是一個可以幫助您入門的簡化說明。

要發送電子郵件附件,您需要在發送之前將其附加到訊息中。這涉及創建 MIME 訊息,它允許您為電子郵件添加不同的部分,包括文字和附件。

您可以使用多個函式庫在 Python 中建立 MIME 訊息。一種流行的選擇是電子郵件包。使用此包,您可以建立 MIME 多部分訊息,該訊息由多個部分組成,包括電子郵件文字和任何附件。

要將文件附加到訊息,您可以使用 email.mime。 application.MIMEApplication 類別由電子郵件包提供。此類別可讓您設定檔案的名稱和內容。

要完成此流程,您需要指定寄件者和收件者的電子郵件地址、電子郵件的主題和文字以及要附加的任何文件。然後,您可以使用 smtplib 庫發送電子郵件。

以下程式碼片段示範如何使用 Python 發送帶有附件的電子郵件:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from os.path import basename

def send_email_with_attachment(sender, receiver, subject, message, filename):
  """Sends an email with an attachment.

  Args:
    sender: The sender's email address.
    receiver: The receiver's email address.
    subject: The subject of the email.
    message: The text of the email.
    filename: The path to the file to be attached.
  """

  # Create a MIME multipart message
  msg = MIMEMultipart()
  msg['From'] = sender
  msg['To'] = receiver
  msg['Subject'] = subject

  # Add the text of the email
  msg.attach(MIMEText(message))

  # Add the attachment
  with open(filename, 'rb') as f:
    part = MIMEApplication(f.read(), Name=basename(filename))
  part['Content-Disposition'] = 'attachment; filename="%s"' % basename(filename)
  msg.attach(part)

  # Send the email
  smtp = smtplib.SMTP('localhost')
  smtp.sendmail(sender, receiver, msg.as_string())
  smtp.quit()
登入後複製

現在您有一個基本了解如何使用 Python 發送電子郵件附件。您可以利用這些知識在應用程式或腳本中自動發送帶有附件的電子郵件。

以上是如何使用 Python 以程式設計方式傳送電子郵件附件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板