首頁 >後端開發 >Python教學 >如何使用Python的smtplib輕鬆發送電子郵件附件?

如何使用Python的smtplib輕鬆發送電子郵件附件?

DDD
DDD原創
2024-12-11 19:57:10671瀏覽

How Can I Easily Send Email Attachments Using Python's smtplib?

使用 Python 發送電子郵件附件:澄清和簡化

使用 Python 的 smtplib 發送電子郵件附件可能具有挑戰性,尤其是對於初學者而言。為了提供更易於理解的解釋,我們探索了一種全面的方法。

考慮以下程式碼片段:

import smtplib
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.utils import COMMASPACE, formatdate

def send_mail(send_from, send_to, subject, text, files=None,
              server="127.0.0.1"):
    assert isinstance(send_to, list)

    msg = MIMEMultipart()
    msg['From'] = send_from
    msg['To'] = COMMASPACE.join(send_to)
    msg['Date'] = formatdate(localtime=True)
    msg['Subject'] = subject

    msg.attach(MIMEText(text))

    for f in files or []:
        with open(f, "rb") as fil:
            part = MIMEApplication(
                fil.read(),
                Name=basename(f)
            )
        # After the file is closed
        part['Content-Disposition'] = 'attachment; filename="%s"' % basename(f)
        msg.attach(part)


    smtp = smtplib.SMTP(server)
    smtp.sendmail(send_from, send_to, msg.as_string())
    smtp.close()

分解程式碼:

  • 我們建立電子郵件的 MIMEMultipart 訊息物件。
  • 我們指定寄件者、收件者、日期、主題和電子郵件的文字。
  • 我們透過讀取其內容並設定其名稱來準備每個附件。
  • 我們將附件新增至 MIMEMultipart 訊息。
  • 我們建立一個 SMTP 伺服器連線並傳送電子郵件。

這種方法可以讓您清楚地了解發送電子郵件所涉及的必要步驟附件。

以上是如何使用Python的smtplib輕鬆發送電子郵件附件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn