Heim >Backend-Entwicklung >Python-Tutorial >Wie sende ich E-Mail-Anhänge mit Python?

Wie sende ich E-Mail-Anhänge mit Python?

DDD
DDDOriginal
2024-12-12 15:58:15137Durchsuche

How to Send Email Attachments Using Python?

So senden Sie E-Mail-Anhänge mit Python

Das Senden von E-Mail-Anhängen mit Python kann vor allem für Anfänger entmutigend wirken. Lassen Sie es uns Schritt für Schritt aufschlüsseln.

Die smtplib-Bibliothek wird häufig zum Senden von E-Mails in Python verwendet. Hier ist ein vereinfachtes Beispiel, das auch Anhangsfunktionen enthält:

import smtplib
from os.path import basename
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()

Lassen Sie uns den Code dekodieren:

  • Erstellen Sie ein MIMEMultipart-Objekt, um die E-Mail-Nachricht darzustellen.
  • Set die E-Mail-Adressen des Absenders und des Empfängers, den Betreff und das Datum.
  • Verwenden Sie MIMEText, um die zu erstellen E-Mail-Text und hängen Sie ihn an die E-Mail-Nachricht an.
  • Durchsuchen Sie die Anhangsdateien (falls vorhanden) und verwenden Sie MIMEApplication, um sie als Anhänge vorzubereiten.
  • Hängen Sie die vorbereiteten Anhänge an die E-Mail-Nachricht an.
  • Erstellen Sie ein SMTP-Objekt und stellen Sie eine Verbindung zum angegebenen E-Mail-Server her.
  • Senden Sie die E-Mail-Nachricht mit smtp.sendmail() und schließen Sie die Verbindung.

Mit diesem Skript können Sie ganz einfach Dateien an E-Mails anhängen und diese mit Python versenden. Denken Sie daran, die Platzhalterwerte (z. B. Absender, Empfänger, Betreff usw.) durch Ihre eigenen Informationen zu ersetzen.

Das obige ist der detaillierte Inhalt vonWie sende ich E-Mail-Anhänge mit Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn