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

Wie sende ich E-Mail-Anhänge mit Pythons smtplib?

Barbara Streisand
Freigeben: 2024-12-17 00:16:25
Original
521 Leute haben es durchsucht

How to Send Email Attachments Using Python's smtplib?

Anhänge mit Pythons smtplib senden

E-Mails mit Pythons smtplib senden ist ein Kinderspiel, aber das Einfügen von Anhängen kann für Anfänger etwas kryptisch wirken. Hier ist eine einfache Erklärung, die Ihnen hilft, diese Aufgabe zu meistern.

Code-Snippet:

Beginnen wir mit einem einfachen Code Snippet:

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()
Nach dem Login kopieren

Erklärung:

  1. MIMEMultipart: MIME-Nachrichten unterstützen mehrere MIME-Teile und bilden die äußerste Schicht.
  2. MIMEText: Der E-Mail-Text wird als erstellt MIMEText, der den Text enthält.
  3. MIMEApplication: Die anzuhängende Datei wird als MIMEApplication behandelt und ihr Name wird mithilfe von basename(f) extrahiert.
  4. Content- Disposition: Dieses Feld konfiguriert die Verarbeitung des Anhangs durch E-Mail-Clients und gibt ihn als Anhang mit an Name.
  5. SMTP: Ein SMTP-Objekt ist für die Verbindung mit einem Mailserver eingerichtet (standardmäßig „127.0.0.1“).
  6. sendmail: Die E-Mail wird mit der Sendmail-Methode mit Absender, Empfängern und Nachricht versendet.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage