Dies ist die einfachste Möglichkeit, E-Mails mit Python zu versenden, indem Sie nur zwei Bibliotheken, smtplib und email, verwenden.
In diesem Beispiel verwenden wir die kostenlose RESTful-API von Gmail.
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText message = MIMEMultipart() message["To"] = 'To line here.' message["From"] = 'From line here.' message["Subject"] = 'Subject line here.' title = '<b> Title line here. </b>' messageText = MIMEText('''Message body goes here.''','html') message.attach(messageText) email = 'Your Gmail address here.' password = 'Your app password here.' server = smtplib.SMTP('smtp.gmail.com:587') server.ehlo('Gmail') server.starttls() server.login(email,password) fromaddr = 'From line here.' toaddrs = 'Address you send to.' server.sendmail(fromaddr,toaddrs,message.as_string()) server.quit()
Zuerst importieren wir smtplib, dann MIMEMultipart und MIMEText aus email.mime.multipart bzw. email.mime.text:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText
Wir rufen dann MIMEMultiPart() auf und instanziieren es in der Variablen Message. Dann geben wir jeder Variablen einen String-Wert, nämlich „Nachricht“, „An“, „Von“ und „Betreff“. Dieser sollte wie folgt aussehen:
Message = MIMEMultipart() Message["To"] = 'To line here.' Message["From"] = 'From line here.' Message["Subject"] = 'Subject line here.'
Wir geben unserer E-Mail auch einen Titel über die Titelvariable und fügen eine Nachricht über MIMEText() hinzu, instanziieren sie in der Variablen messageText und hängen schließlich unsere E-Mail-Nachricht mit der Funktion attachment() an unsere Hauptvariable Message an. es sollte so aussehen:
title = '<b> Title line here. </b>' messageText = MIMEText('''Message body goes here.''','html') Message.attach(messageText)
Fügen wir unsere Gmail-Adresse und unser App-Passwort hinzu. Klicken Sie hier auf den Link, wenn Sie nicht wissen, wie Sie eines erhalten:
email = 'Your Gmail address here.' password = 'Your App password here.'
Dann müssen wir uns mit dem SMTP-Server von Gmail verbinden. Dazu verwenden wir die smtplib-Bibliothek und wir benötigen zwei Variablen, nämlich den Server, mit dem wir eine Verbindung herstellen möchten, und den Port, nämlich smtp.gmail.com bzw. 587.
Mit der smtplib-Bibliothek rufen wir die SMTP-Funktion auf und fügen die Server- und Portvariablen als Argumente hinzu. Es sollte so aussehen:
smtplib.SMTP('smtp.gmail.com:587') (vergessen Sie nicht das : dazwischen)
Wir instanziieren es dann auf dem Variablenserver:
server = smtplib.SMTP('smtp.gmail.com:587')
Wir fügen dann eine ehlo-Anweisung mit server.ehlo('Gmail') hinzu. Dies sollte Ihr Domänenname sein. Dies ist nützlich, wenn Sie eine E-Mail an einen anderen Mailserver senden, der ESMTP unterstützt. Halten wir es einfach und geben Sie einfach Gmail ein:
server.ehlo('Gmail')
Lassen Sie uns auch das TLS-Protokoll mit server.starttls() starten. Dadurch wird dem Mailserver mitgeteilt, dass wir unsere E-Mails über eine sichere Verbindung senden möchten:
server.starttls()
Wir melden uns dann mit dieser Zeile beim Mailserver an:
server.login(email,password)
Fügen wir eine Absender- und eine An-Adresse(n) hinzu, indem wir fromaddr bzw. toaddrs verwenden:
fromaddr = 'Your Gmail address.' toaddrs = 'Destination address.'
Zuletzt versenden wir unsere E-Mail mit server.sendmail(fromaddr,toaddrs,message.as_string()) und schließen unsere Verbindung zum Mailserver mit server.quit():
server.sendmail(fromaddr,toaddrs,message.as_string()) server.quit()
Speichern Sie das in einer Datei namens send_email.py, öffnen Sie ein Terminal, wenn Sie Linux verwenden, oder eine Eingabeaufforderung, wenn Sie Windows verwenden, und starten Sie es mit Python send_email.py. Sie sollten Folgendes sehen:
Wenn nichts passiert, dann ist es eine gute Nachricht, dass es funktioniert!
Sie sollten eine E-Mail an Ihre Ziel-E-Mail(s) erhalten haben. Folgendes habe ich erhalten:
Das Versenden von E-Mails mit Python und dem kostenlosen SMTP-Server von Gmail ist die einfachste Möglichkeit, mit dem Versenden von E-Mails innerhalb Ihres Python-Codes zu beginnen. Genau das habe ich getan, als ich mein erstes Online-Geschäft überhaupt aufgebaut habe. Mehr darüber können Sie hier lesen.
Das obige ist der detaillierte Inhalt vonSo senden Sie E-Mails in Python mit der kostenlosen SMTP-Mailserver-API von Gmail. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!