Senden Sie E-Mails mit Python an mehrere Adressen

Abid Ullah 15 Februar 2024
  1. Senden Sie E-Mails mit Python an mehrere Adressen
  2. das smtplib-Modul in Python
  3. Senden Sie eine E-Mail mit smtplib in Python
  4. Kontrollieren Sie den Zugriff auf weniger sichere Apps
  5. Senden Sie eine E-Mail mit smtplib in Python
Senden Sie E-Mails mit Python an mehrere Adressen

In diesem Artikel zeigen wir, wie Sie mit der Programmiersprache Python E-Mails an verschiedene Empfänger mit verschiedenen E-Mail-Adressen senden. Insbesondere werden wir E-Mails an viele verschiedene Personen senden.

Senden Sie E-Mails mit Python an mehrere Adressen

Python ist mehr als nur eine Programmiersprache zum Erstellen von Websites oder Arbeiten mit künstlicher Intelligenz.

Es ist eine Sprache, die im Backend, Frontend oder im gesamten Stack einer Webanwendung verwendet werden kann. Daher macht seine Vielseitigkeit es zu einem hilfreichen Werkzeug.

Mittlerweile hat sich Python zu einer Sprache entwickelt, mit der auch E-Mails automatisiert werden können. Aufgaben, die E-Mails betreffen, können mit Python einfach automatisiert werden.

Wir benötigen ein paar Zeilen Code, um mit Python E-Mails an mehrere verschiedene Empfänger gleichzeitig zu senden.

In diesem Python-Artikel zeigen wir, wie Sie mit Python E-Mails gleichzeitig an mehrere Empfänger senden.

Das Versenden von E-Mails mit Python ist nicht sehr schwierig, insbesondere wenn Sie ein Modul wie smtplib verwenden. Diese Bibliothek kümmert sich um alles, was Sie wissen müssen, um sich mit einem Mailserver zu verbinden und die Nachricht für Sie zuzustellen.

Wir führen Sie Schritt für Schritt durch die Konfiguration eines Python-Skripts, damit es E-Mails an viele verschiedene Adressen senden kann. Darüber hinaus werden wir einige Beispielcodes enthalten, die Sie zu Beginn verwenden können.

Wenn wir smtplib nutzen wollen, müssen Sie zunächst eine Verbindung zum Server herstellen. Wir müssen den Standort des Servers sowie unseren Benutzernamen und unser Passwort angeben, um auf die Datei zugreifen zu können.

Nachdem die Verbindung hergestellt wurde, können wir damit beginnen, uns gegenseitig Nachrichten zu senden.

Um eine Nachricht zu senden, müssen wir zuerst ein Nachrichtenobjekt erstellen und dann die Header für die Felder von, an und Thema bereitstellen. Wir können auch cc- und bcc-Empfänger hinzufügen.

Nachdem die Nachricht erstellt wurde, haben wir die Möglichkeit, Text, HTML oder Anhänge hinzuzufügen.

Wenn wir bereit sind, die Nachricht zu senden, können wir die Funktion sendmail() verwenden, die im Modul smtplib enthalten ist. Diese Technik erfordert eine Liste von Empfängern und kommuniziert dann mit jedem einzelnen auf der Liste.

Beginnen wir also mit smtplib.

das smtplib-Modul in Python

Die smtplib ist ein eingebautes Modul in Python. Es hat Client-Session-Objekte.

Die smtplib definiert ein SMTP-Client-Session-Objekt. Dieses Objekt kann verwendet werden, um E-Mails an jeden mit dem Internet verbundenen Computer zuzustellen, auf dem ein SMTP- oder ESMTP-Listener-Daemon ausgeführt wird.

Von Anwendungsprogrammierern wird nicht erwartet, dass sie dieses Modul direkt in ihrer Arbeit verwenden. Systemadministratoren, die Skripte erstellen, um die Aktivitäten der Systemverwaltung zu automatisieren, werden den Zugriff auf diese Ressource als wertvoll empfinden.

die Modulklassen smtplib

Das Modul smtplib definiert die folgenden Klassen:

  1. SMTP – Ein SMTP-Client-Sitzungsobjekt
  2. SMTP_SSL – Eine SMTP-Client-Sitzung über eine SSL-Verbindung
  3. IMAP4 – Ein IMAP4-Client-Session-Objekt
  4. POP3 – Ein POP3-Client-Session-Objekt

Alle diese Klassen haben dieselben Methoden und Attribute.

Ausnahmen für das smtplib-Modul

Das Modul smtplib definiert zudem folgende Ausnahmen:

  1. SMTPException – Basisklasse für alle SMTP-bezogenen Ausnahmen.
  2. SMTPServerDisconnected – Der SMTP-Server wurde unerwartet getrennt.
  3. SMTPResponseException – Der SMTP-Server hat einen anderen Fehlercode als 2xx zurückgegeben.
  4. SMTPSenderRefused – Der SMTP-Server weigerte sich, die Adresse des Absenders zu akzeptieren.
  5. SMTPRecipientsRefused – Der SMTP-Server weigerte sich, alle Empfängeradressen zu akzeptieren.
  6. SMTPDataError - Der SMTP-Server akzeptiert die Nachrichtendaten nicht.
  7. SMTPConnectError - Der SMTP-Server konnte nicht verbunden werden.
  8. SMTPHeloError – Der SMTP-Server hat nicht richtig auf den HELO-Befehl geantwortet.
  9. SMTPNotSupportedError – Der SMTP-Server unterstützt die angeforderte Funktion nicht.
  10. SMTPAuthenticationError – Der SMTP-Server hat den Benutzernamen/das Passwort nicht akzeptiert.

Kommen wir zum Hauptthema des Versendens von E-Mails mit Python.

Senden Sie eine E-Mail mit smtplib in Python

Es ist kein Geheimnis, dass Google gegen den Zugriff von weniger sicheren Apps auf Gmail-Konten vorgeht. Dies war für viele Benutzer eine große Quelle der Frustration, insbesondere für diejenigen, die sich auf Python verlassen, um E-Mails über ihre Gmail-Konten zu senden.

Leider erlaubt Google Less Secure App keinen Zugriff mehr auf Gmail-Konten. Wenn wir das smtplib-Modul von Python verwenden möchten, um E-Mails über unser Google Mail-Konto zu senden, müssen wir einige zusätzliche Schritte unternehmen, um sicherzustellen, dass Ihr Konto sicher ist.

Als erstes kontrollieren wir also den Zugriff auf weniger sichere Apps.

Kontrollieren Sie den Zugriff auf weniger sichere Apps

Wie Sie vielleicht gehört haben, hat Google die Unterstützung für eine Funktion namens Less Secure App eingestellt. Diese Funktion ermöglichte Ihnen den Zugriff auf Ihr Google Mail-Konto mit einem Programm wie Microsoft Outlook, Thunderbird oder Apple Mail.

Das mag wie Schmerz klingen; das ist aber auch gut so! Weniger sichere Apps stellen ein großes Sicherheitsrisiko dar, und da Google sie nicht mehr unterstützt, tragen sie dazu bei, Ihr Konto zu schützen.

Wie in unserem Fall möchten wir, dass Pythons smtplib auf unser Gmail zugreift, keine Sorge! Wir müssen das Passwort für unser Gmail-Konto nicht angeben.

Wir können sicher wechseln, indem wir diesen einfachen Schritten folgen:

  • Verwenden Sie eine sichere Verbindung

    Verwenden Sie immer eine sichere Verbindung, wenn Sie E-Mails über Ihr Google Mail-Konto senden. Google Mail bietet zwei verschiedene Arten von Verbindungen: SSL und TLS.

    SSL (Secure Sockets Layer) ist das ältere der beiden Protokolle und nicht so sicher wie TLS. Es ist jedoch immer noch sicherer als eine unverschlüsselte Verbindung.

    TLS (Transport Layer Security) ist ein neueres und sichereres Protokoll als SSL. Google Mail verwendet automatisch TLS, sofern verfügbar.

  • Melden Sie sich beim Google Mail-Konto an

    Bevor wir eine E-Mail mit dem Python-Modul smtplib senden, müssen wir uns zuerst bei unserem Konto anmelden, da wir unsere E-Mail-Adresse und ein Passwort benötigen, das von unserem Gmail-Konto generiert wurde.

  • Konto verwalten

    Sobald wir uns bei unserem Konto angemeldet haben, müssen wir auf das Symbol unseres Gmail-Profils klicken. Wir sehen ein Dropdown-Menü und eine Option mit [Ihr Google-Konto verwalten].

    Wir müssen darauf klicken, um zum nächsten Schritt zu gelangen.

  • Sicherheit

    Nachdem Sie auf [Ihr Google-Konto verwalten] geklickt haben, werden wir auf die nächste Seite weitergeleitet, wo wir die Option Sicherheit finden. Wir müssen darauf klicken.

  • Anmeldung bei Google

    Nachdem wir auf Sicherheit geklickt haben, werden wir zu einem anderen Teil von Gmail weitergeleitet, wo wir die Option Signing in to Google finden.

    Das Bild unten zeigt uns, dass Anmelden bei Google zwei Optionen hat.

    1. Bestätigung in zwei Schritten

    2. App-Passwort

    Anmeldung bei Google

  • Bestätigung in zwei Schritten aktivieren

    Eine weitere wichtige Sicherheitsmaßnahme ist die Aktivierung der Zwei-Faktor-Authentifizierung für Ihr Gmail-Konto. Die Zwei-Faktor-Authentifizierung fügt eine zusätzliche Sicherheitsebene hinzu, indem Sie aufgefordert werden, einen Code von Ihrem Telefon und Ihr Passwort einzugeben.

    Jetzt müssen wir zuerst die 2-Stufen-Verifizierung einschalten. Was sehr einfach ist; Sie können es innerhalb weniger Sekunden tun.

  • App-Passwörter.

    Nachdem wir mit der Bestätigung in zwei Schritten fertig sind, müssen wir mit App Passwords ein Passwort von unserem Gmail-Konto generieren.

    Wenn wir darauf klicken, werden wir auf die unten genannte Seite weitergeleitet.

    App-Passwort

Jetzt müssen wir die Optionen in Select App und Select Device überprüfen.

Generiere Passwort

In unserem Fall wählen wir Mail und Windows Computer oder ein anderes Gerät, um weiter zu gehen und ein Passwort zu erhalten. Danach klicken wir auf die Schaltfläche Generieren.

Passwort generiert

Sobald wir auf die Schaltfläche Generieren klicken, werden wir auf eine andere Seite weitergeleitet, auf der wir sehen können, dass Google ein Passwort für unsere E-Mail generiert hat, das wir verwenden können, während wir Pythons smtplib zum Senden von E-Mails verwenden.

Jetzt haben wir sicher ein Passwort für unsere E-Mail generiert. Wir können jetzt zu Python wechseln, um E-Mails mit smtplib zu senden.

Senden Sie eine E-Mail mit smtplib in Python

Das Modul smtplib erleichtert das Versenden von E-Mails mit Python. Um eine E-Mail mit smtplib zu versenden, sind nur wenige Schritte nötig.

Zuerst müssen wir ein SMTP-Objekt erstellen. Als nächstes müssen wir uns mit der Methode connect() mit dem Server verbinden.

Und schließlich können wir eine E-Mail mit der Methode msg.set_content senden. Lassen Sie uns tief in die Schritte des Codes eintauchen.

  • Bibliothek importieren

    Wir werden zuerst smtplib importieren. Dies ist das Protokoll, und dieses Protokoll hilft beim Senden der E-Mail.

  • E-Mail Format

    Wir verwenden email.message import EmailMessage, um das E-Mail-Format in Python zu verwenden. Wie Betreff, Von, An und Senden.

  • E-Mail-Addresse

    Jetzt schreiben wir unsere E-Mail-Adressen in Anführungszeichen. Die E-Mail, von der wir E-Mails senden möchten.

  • Passwort

    Wir schreiben jetzt das generierte Passwort, das wir zuvor über Google Mail generiert haben.

  • Greifen Sie auf die Gmail-Datenbank zu

    Um auf die Datenbank von Gmail zuzugreifen, verwenden wir smtplib.SMTP_SSL('smtp.gmail.com', 465). Es ermöglicht uns, eine Verbindung mit der Datenbank von Google Mail herzustellen.

  • Anmeldung

    Jetzt verwenden wir den Befehl server.login, um uns über das generierte Passwort bei der E-Mail anzumelden.

  • Schicken

    Wir werden jetzt v=server.send_message verwenden, um die Nachricht per E-Mail zu senden.

  • Drucken

    Nachdem die E-Mail erfolgreich gesendet wurde, sehen wir eine gedruckte Nachricht: E-Mail wurde erfolgreich gesendet.

Beispielcode:

import smtplib
from email.message import EmailMessage

EMAIL_ADDRESS = "iqraanwar097@gmail.com"
EMAIL_PASSWORD = "***************"
email = EmailMessage()
email["Subject"] = input(str("Email Subject: "))
email["From"] = "Your Name"
email["To"] = "abidork41@gmail.com"
email.set_content("Write Your message here")
server = smtplib.SMTP_SSL("smtp.gmail.com", 465)
server.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
server.send_message(email)
server.quit()
print("Email has been sent successfully")

Ausgang:

Email Subject: Email sent using python
Email has been sent successfully

So können wir eine E-Mail an eine E-Mail-Adresse senden. Wenn wir jedoch E-Mails an mehrere Adressen senden möchten, können wir unsere E-Mails mit einem Komma trennen und E-Mails an beliebig viele Adressen senden.

Beispielcode:

import smtplib
from email.message import EmailMessage

EMAIL_ADDRESS = "abs@gmail.com"
EMAIL_PASSWORD = "*************"
email = EmailMessage()
email["Subject"] = input(str("Email Subject: "))
email["From"] = "Your Name"
email["To"] = "abidork41@gmail.com,abidork41@gmail.com,abidork41@gmail.com"
email.set_content("Write Your message here")
server = smtplib.SMTP_SSL("smtp.gmail.com", 465)
server.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
server.send_message(email)
server.quit()
print("Email has been sent successfully to all the addresses")

Ausgang:

Email Subject: I have a news for you all
Email has been sent successfully to all the addresses

Unsere E-Mail wird an alle genannten Adressen gesendet.

Damit wären wir am Ende der Diskussion! Mit Python können wir schnell und einfach E-Mails an mehrere Personen gleichzeitig senden, was nur wenige Codezeilen Ihrerseits erfordert.

Wir hoffen, dass Sie diesen Artikel hilfreich finden, um zu verstehen, wie Sie mit Python E-Mails an mehrere Adressen senden.

Autor: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn

Verwandter Artikel - Python Email