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

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

Barbara Streisand
Barbara StreisandOriginal
2024-12-18 02:24:10605Durchsuche

How to Programmatically Send Email Attachments Using Python?

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

Das Senden von E-Mail-Anhängen in Python kann eine unkomplizierte Aufgabe sein, für Anfänger kann sie jedoch entmutigend wirken. Hier ist eine vereinfachte Erklärung, die Ihnen den Einstieg erleichtern wird.

Um einen E-Mail-Anhang zu senden, müssen Sie ihn vor dem Versenden an die Nachricht anhängen. Dazu gehört das Erstellen einer MIME-Nachricht, die es Ihnen ermöglicht, der E-Mail verschiedene Teile hinzuzufügen, einschließlich Text und Anhänge.

Es gibt mehrere Bibliotheken, die Sie zum Erstellen von MIME-Nachrichten in Python verwenden können. Eine beliebte Wahl ist das E-Mail-Paket. Mit diesem Paket können Sie eine mehrteilige MIME-Nachricht erstellen, die aus mehreren Teilen besteht, einschließlich des Textes der E-Mail und etwaiger Anhänge.

Um eine Datei an die Nachricht anzuhängen, können Sie email.mime verwenden. application.MIMEApplication-Klasse, die vom E-Mail-Paket bereitgestellt wird. Mit dieser Klasse können Sie den Namen und den Inhalt der Datei festlegen.

Um den Vorgang abzuschließen, müssen Sie die E-Mail-Adressen des Absenders und des Empfängers, den Betreff und den Text der E-Mail sowie alle Dateien angeben, die Sie anhängen möchten. Anschließend können Sie die smtplib-Bibliothek zum Versenden der E-Mail verwenden.

Hier ist ein Codeausschnitt, der zeigt, wie Sie mit Python eine E-Mail mit Anhang senden:

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

Jetzt haben Sie eine Grundkenntnisse zum Versenden von E-Mail-Anhängen in Python. Sie können dieses Wissen nutzen, um das Versenden von E-Mails mit Anhängen in Ihren Anwendungen oder Skripten zu automatisieren.

Das obige ist der detaillierte Inhalt vonWie sende ich E-Mail-Anhänge programmgesteuert 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