Senden Sie E-Mails in Python
Najwa Riyaz
12 Oktober 2021
Um eine E-Mail mit Python zu versenden, verwenden Sie die folgenden Funktionen aus der Bibliothek smtplib
.
SMTP(SMTP_SERVER, SMTP_PORT)
- erstellt eine SMTP-Sitzung gemäß SMTP-Server und SMTP-Portdetails.starttls()
- um den TLS für die Sicherheitseinrichtung zu starten.login(SMTP_USERNAME, SMTP_PASSWORD)
– um die Authentifizierungsdaten des E-Mail-Absenders anzugeben.sendmail(EMAIL_FROM, EMAIL_TO, the_message)
- um die Nachricht vom Sender an den Empfänger zu senden.quit()
um die SMTP-Sitzung zu beenden.
Hier ist ein Beispiel, das das Senden von E-Mails über den Gmail-SMTP-Server zeigt.
import smtplib
SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
SMTP_USERNAME = "sender_username_here@gmail.com"
SMTP_PASSWORD = "sender_password_here"
EMAIL_FROM = "sender_username_here@gmail.com"
EMAIL_TO = "receiver_username_here@gmail.com"
EMAIL_SUBJECT = "Attention:Subject here"
EMAIL_MESSAGE = "The message here"
s = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
s.starttls()
s.login(SMTP_USERNAME, SMTP_PASSWORD)
message = "Subject: {}\n\n{}".format(EMAIL_SUBJECT, EMAIL_MESSAGE)
s.sendmail(EMAIL_FROM, EMAIL_TO, message)
s.quit()
Die Ausgabe kann gemäß der zu diesem Zeitpunkt in Ihrem System aufgebauten Verbindung wie folgt aussehen:
(221, b"2.0.0 closing connection t12sm4676768pfc.133 - gsmtp")
Als Ergebnis wird die E-Mail gesendet. Der Empfänger empfängt die Nachricht erfolgreich.
Hinweis:
- Geben Sie im Fall von Gmail die folgenden SMTP-Details an:
SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
Außerdem muss die folgende Einstellung in Gmail aktiviert werden, bevor der Code ausgeführt wird.
https://myaccount.google.com/lesssecureapps
- Geben Sie im Falle von Yahoo Mail die folgenden SMTP-Details an:
SMTP_SERVER = "smtp.mail.yahoo.com"
SMTP_PORT = 587
Generieren Sie außerdem ein Yahoo App-Passwort
, bevor Sie den Code ausführen. Überprüfen Sie den Link unten.
https://help.yahoo.com/kb/generate-separate-password-sln15241.html
- Wenn Sie einen anderen E-Mail-Anbieter verwenden möchten, verwenden Sie die entsprechenden SMTP-Serverdetails und -voraussetzungen.