Senden Sie Emails in Python

Automatisierte Emails werden häufig verwendet, um Benachrichtigungen oder andere Nachrichten an Abonnenten zu senden. Außerdem werden verschiedene Emails basierend auf den Aktionen oder dem Verhalten der Benutzer ausgelöst. Um die Email-Automatisierung zu implementieren, behandelt dieser Artikel das Erstellen und Senden von Emails mit SMTP in Python.

Python Bibliothek zum Erstellen und Senden von Emails über SMTP

Um Emails mit SMTP zu erstellen und zu senden, verwenden wir Aspose.Email for Python via .NET. Es ist eine leistungsstarke Python Bibliothek, mit der Sie funktionsreiche Email-Clients implementieren können. Sie können die API von PyPI mit dem folgenden Befehl installieren.

pip install Aspose.Email-for-Python-via-NET

Oder Sie können die folgenden Schritte für die manuelle Installation ausführen.

  • Laden Sie die installierbare .whl Datei aus dem Abschnitt downloads herunter.
  • Verwenden Sie in der Befehlszeile den Befehl: pip install «FileName> >.whl, um die API zu installieren.
  • Laden Sie ein vollständiges Paket mit Quellcodebeispielen von GitHub herunter.

Erstellen und senden Sie Emails über SMTP in Python

Im Folgenden sind die Schritte zum Erstellen und Senden einer Email über SMTP in Python aufgeführt.

  • Erstellen Sie ein Objekt der MailMessage Klasse.
  • Legen Sie Betreff, Text, Absender und Empfängeradressen fest.
  • Legen Sie Cc oder Bcc fest (optional).
  • Erstellen Sie einen neuen SMTP-Client mit der SmtpClient Klasse und legen Sie Host, Port, Benutzername und Passwort fest.
  • Sicherheitsoptionen festlegen.
  • Senden Sie eine Email mit der SmtpClient.send(MailMessage) methode.

Das folgende Codebeispiel zeigt, wie Emails in Python erstellt und gesendet werden.

# Create email message
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.body = "This is plain text body."
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Send email
client.send(eml)

Senden Sie Emails mit HTML-Text in Python

Im Folgenden sind die Schritte zum Senden von Emails mit HTML-Text aufgeführt.

  • Erstellen Sie ein Objekt der MailMessage Klasse.
  • Legen Sie den Text der Email mit der Eigenschaft MailMessage.body\html fest.
  • Legen Sie die Eigenschaft „MailMessage.is\body\html“ auf true fest.
  • Vergeben Sie Betreff, Absender und Empfängeradresse.
  • Legen Sie Cc oder Bcc fest (optional).
  • Erstellen Sie einen neuen SMTP-Client mit der SmtpClient Klasse und legen Sie Host, Port, Benutzername und Passwort fest.
  • Senden Sie eine Email mit der SmtpClient.send(MailMessage) methode.

Das folgende Codebeispiel zeigt, wie Emails mit HTML-Text in Python gesendet werden.

# Create email message with HTML body
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.is_body_html = True
eml.html_body = "<html><body>This is the <b>HTML</b>body</body></html>"
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Send email
client.send(eml)

Senden Sie Massen Emails mit SMTP in Python

Im Folgenden sind die Schritte zum Senden von Massen Emails in Python aufgeführt.

  • Erstellen Sie mehrere Email-Nachrichten mit der MailMessage Klasse und legen Sie deren Eigenschaften wie Betreff, Empfänger usw. fest.
  • Erstellen Sie ein Objekt der MailMessageCollection Klasse.
  • Fügen Sie der Sammlung Email-Nachrichten mit der methode MailMessageCollection.append(MailMessage) hinzu.
  • Erstellen Sie einen neuen SMTP-Client mit der SmtpClient Klasse und legen Sie Host, Port, Benutzername und Passwort fest.
  • Senden Sie Emails mit der SmtpClient.send(MailMessageCollection) methode.

Das folgende Codebeispiel zeigt, wie Massen Emails in Python gesendet werden.

# Create multiple email messages
message1 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message1, how are you?")
message2 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message2, how are you?")
message3 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message3, how are you?")

# Add messages to collection
manyMsg =  MailMessageCollection()
manyMsg.append(message1)
manyMsg.append(message2)
manyMsg.append(message3)

# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Send emails
client.send(manyMsg)

Weiterleiten einer Email-Nachricht in Python

Im Folgenden sind die Schritte zum Weiterleiten einer Email-Nachricht in Python aufgeführt.

  • Laden Sie die Email-Nachricht mithilfe der Methode MailMessage.load(String fileName) in ein Objekt.
  • Empfängeradresse einstellen.
  • Erstellen Sie einen SMTP-Client mit der SmtpClient Klasse.
  • Nachricht mit der methode SmtpClient.forward() weiterleiten.

Das folgende Codebeispiel zeigt, wie eine Email-Nachricht in Python weitergeleitet wird.

# Load email message to be forwarded
eml = MailMessage.load("Message.eml")

# Set recipient
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

# Send using Smtp Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.forward("Recipient1@domain.com", "Recipient2@domain.com", eml)

Holen Sie sich eine kostenlose API Lizenz

Sie können eine kostenlose temporäre Lizenz anfordern, um die API ohne Evaluierungseinschränkungen zu verwenden.

Live-Demo

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Emails über SMTP in Python erstellen und versenden. Außerdem haben Sie gesehen, wie Sie Massen Emails mit reinem Text oder HTML-Text programmgesteuert versenden. Weitere Informationen zur Python Email API finden Sie in der Dokumentation. Falls Sie Fragen oder Anregungen haben, können Sie uns diese gerne über unser Forum mitteilen.

Siehe auch