In diesem Beitrag möchte ich dir zeigen, wie du in deinem GMail Account ein App-Passwort erstellen kannst, um in einem Skript oder Programm deine E-Mails empfangen oder versenden zu können.
Dieser Beitrag ist eine Ergänzung zu meinem Beitrag Senden einer E-Mail aus einem Python3 Skript wo ich dir bereits gezeigt habe, wie du in Python3 eine E-Mail versendest. Jedoch habe ich in diesem Beitrag ein WEB.DE Account verwendet, welches recht einfach zu konfigurieren und zu benutzen ist.
Solltest du also ein GMail Account haben und dieses Skript verwenden wollen, so bist du hier genau richtig!
Einrichten des GMail Accounts
Ich gehe zunächst davon aus, dass du ein GMail Account hast und dich erfolgreich unter https://mail.google.com/ anmelden kannst.
In den nächsten 10 Bildern werde ich dir nun zeigen, wie du ein App-Passwort in den Einstellungen zu deinem Google Account erstellst.
Schritt 1 – Anmelden und navigieren zu den App-Passwörtern
Wenn du eingeloggt bist, dann findest du oben links dein Avatar Bild, auf welches du klickst (1) und dort die Schaltfläche “Google-Konto verwalten” auswählst.
Du solltest dann auf der linken Seite den Menüpunkt “Sicherheit” finden, welchen du nun anklickst (3).
Nun musst du in der Seite nach unten scrollen um zum Abschnitt “Bei Google anmelden” zu gelangen. Dort wählst du den Punkt “App-Passwörter” (4) aus.
Da dieses ein sehr sensibler Bereich ist, musst du dich erneut mit Benutzername und Passwort anmelden und die Schaltfläche “Weiter” (5) betätigen.
Wenn der Login erfolgreich war, solltest du nun einen leeren Abschnitt sehen, in diesem kannst du dann ein neues App-Passwort erstellen.
Schritt 2 – GMail Account App-Passwort erstellen
Erstellen wir nun das App-Passwort.
Aus der Auswahlliste “App auswählen” wählen wir zunächst “E-Mail” aus (6). Aus der Liste “Gerät auswählen” wählen wir “Andere” (7).
Wir müssen nun einen Namen für dieses Passwort eingeben (8), hier empfiehlt es sich einen sprechenden Namen zu verwenden.
Wenn der Name eingeben wurde, dann kann auf die Schaltfläche “GENERIEREN” geklickt werden (9).
In dem kleinen gelben Kasten siehst du nun das generierte App-Passwort (10).
Dieses Passwort solltest du dir in einen Passworttresor abspeichern, denn es kann nicht erneut angezeigt werden!
Wenn du das Passwort gespeichert hast, kannst du auf die Schaltfläche “FERTIG” klicken (11), um zur Übersicht zurückzugelangen.
Das hier gezeigte App-Passwort habe ich vor der Veröffentlichung dieses Beitrages gelöscht und hat natürlich keine Gültigkeit mehr 😉
In der Übersicht siehst du nun das erstellte App-Passwort für deinen GMail Account.
Du hast lediglich rechts die Auswahl, es zu löschen (der kleine Eimer).
Kleines Beispiel zum Absenden von E-Mails mit Python3 und GMail
Im Nachfolgenden möchte ich dir jetzt zeigen, wie du mit dem erzeugen App-Passwort eine Mail absenden kannst.
Zunächst hier die benötigten Serverdaten:
- SMTP-Serveradresse: smtp.gmail.com
- SMTP Name: deine E-Mail-Adresse
- SMTP-Benutzername: deine Mail-Adresse zbsp. stefandraeger1980@gmail.com
- SMTP Passwort: das generierte App-Passwort
- SMTP-Port (TLS): 587
- SMTP-Port (SSL): 465
Nachfolgend der modifizierte Quellcode aus dem bereits verlinkten Beitrag.
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText # Serverdaten smtpServer = "smtp.gmail.com" smtpPort = 587 # Zugangsdaten username = "stefandraeger1980@gmail.com" password = "czjtcfglmptvnsxk" # Sender & Empfänger sender = "stefandraeger1980@gmail.com" reciever = "stefandraeger1980@gmail.com" # Betreff & Inhalt subject = "Hallo Welt!" body = "Hier steht ein Text. \n Mit einem Zeilenumbruch." # Message Objekt für die E-Mail # später kann an dieses Objekt eine # oder mehrere Dateien angehängt # werden. msg = MIMEMultipart() msg['Subject'] = subject msg['From'] = sender msg['To'] = reciever part = MIMEText(body, 'plain') msg.attach(part) # Erzeugen einer Mail Session smtpObj = smtplib.SMTP(smtpServer, smtpPort) # Debuginformationen auf der Konsole ausgeben smtpObj.set_debuglevel(1) # Wenn der Server eine Authentifizierung benötigt dann... smtpObj.starttls() smtpObj.login(username, password) # absenden der E-Mail smtpObj.sendmail(sender, reciever, msg.as_string())
Wenn das Skript erfolgreich ausgeführt wird, dann sollten wir eine E-Mail wie nachfolgend angezeigt absenden / empfangen.