Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mit Pythons smtplib ganz einfach E-Mail-Anhänge versenden?

Wie kann ich mit Pythons smtplib ganz einfach E-Mail-Anhänge versenden?

DDD
DDDOriginal
2024-12-11 19:57:10680Durchsuche

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

E-Mail-Anhänge mit Python versenden: Verdeutlichung und Vereinfachung

Das Versenden von E-Mail-Anhängen mit Pythons smtplib kann eine Herausforderung sein, insbesondere für Anfänger. Um eine verständlichere Erklärung zu liefern, untersuchen wir einen umfassenden Ansatz.

Betrachten Sie den folgenden Codeausschnitt:

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()

Aufschlüsselung des Codes:

  • Wir erstellen ein MIMEMultipart-Nachrichtenobjekt für die E-Mail.
  • Wir geben den Absender, den/die Empfänger, das Datum, den Betreff und den Text der E-Mail an E-Mail.
  • Wir bereiten jeden Anhang vor, indem wir seinen Inhalt lesen und seinen Namen festlegen.
  • Wir fügen die Anhänge der MIMEMultipart-Nachricht hinzu.
  • Wir erstellen eine SMTP-Serververbindung und senden die E-Mail.

Dieser Ansatz bietet ein klares Verständnis der notwendigen Schritte beim Versenden einer E-Mail mit Anhängen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Pythons smtplib ganz einfach E-Mail-Anhänge versenden?. 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
Vorheriger Artikel:Warum ist Spark langsam?Nächster Artikel:Warum ist Spark langsam?