English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Flask-E-Mail-Senden

Web-basierte Anwendungen benötigen in der Regel die Möglichkeit, Benutzern/Funktion zum Senden von E-Mails vom Client. Flask-Die Mail-Erweiterung macht es sehr einfach, eine einfache Schnittstelle für jede E-Mail-Server-Einstellung zu erstellen.

Zunächst Flask-Die Mail-Erweiterung kann mit dem pip-Tool installiert werden, wie folgt gezeigt -

# Dateiname : example.py
# Urheberrecht : 2020 Durch w3codebox
# Autor durch: de.oldtoolbag.com
# Datum : 2020-08-08
pip install Flask-Mail

Dann müssen Sie die Werte der folgenden Anwendungseinstellungen setzen, um Flask zu konfigurieren-Mail.

NummerParameterBeschreibung
1MAIL_SERVERName des E-Mail-Servers/IP-Adresse
2MAIL_PORTPortnummer des verwendeten Servers
3MAIL_USE_TLSAktivieren/Deaktivieren der TLS-Verschlüsselung
4MAIL_USE_SSLAktivieren/Deaktivieren der SSL-Verschlüsselung
5MAIL_DEBUGDebug-Unterstützung, Standardmäßig ist der Debug-Status der Flask-Anwendung
6MAIL_USERNAMEBenutzername des Absenders
7MAIL_PASSWORDPasswort des Absenders
8MAIL_DEFAULT_SENDEREinstellen des Standard-Senders
9MAIL_MAX_EMAILSEinstellen der maximalen Anzahl der zu sendenden E-Mails
10MAIL_SUPPRESS_SENDWenn app.testing auf true gesetzt ist, werden gesendete Nachrichten unterdrückt
11MAIL_ASCII_ATTACHMENTSWenn auf true gesetzt, wird der Name des angehängten Dateis umgewandelt in ASCII

flask-Das Modul mail enthält die Definitionen folgender wichtiger Klassen.

Mail-Klasse

Es verwaltet die Anforderungen von E-Mail-Nachrichten. Der Konstruktor der Klasse Mail nimmt die folgenden Form -

NummerMethodeBeschreibung
1send()Senden Sie den Inhalt des Message-Objekts
2connect()Öffnen Sie eine Verbindung zum E-Mail-Host
3send_message()Senden Sie das Nachrichtenobjekt

Message-Klasse

Es verpackt ein E-Mail, der Konstruktor der Message-Klasse hat mehrere Parameter -

# Dateiname : example.py
# Urheberrecht : 2020 Durch w3codebox
# Autor durch: de.oldtoolbag.com
# Datum : 2020-08-08
flask-mail.Message(subject, recipients, body, html, sender, cc, bcc, 
    antworten-to, date, charset, extra_headers, mail_options, rcpt_options)

Message-Klassenmethode

attach() - Fügen Sie eine Dateianhang zur Nachricht hinzu. Diese Methode akzeptiert die folgenden Parameter - filename - Name der zu anhängenden Datei content_type - Datei-MIME-Typ data - Ursprüngliche Dateidaten disposition - Inhaltshandhabung, falls vorhanden.

add_recipient() - Eine weitere Empfängeradresse zur Nachricht hinzufügen

Im folgenden Beispiel wird der SMTP-Server des Google-Gmail-Dienstes als Flask-Die von Mail konfigurierte MAIL_SERVER.

Abschnitt1Schritt - Im Code aus flask-Das Modul mail importiert die Klassen Mail und Message.

# Dateiname : example.py
# Urheberrecht : 2020 Durch w3codebox
# Autor durch: de.oldtoolbag.com
# Datum : 2020-08-08
from flask_mail import Mail, Message

Abschnitt2Schritt - Dann konfigurieren Sie Flask basierend auf den folgenden Einstellungen-Mail.

# Dateiname : example.py
# Urheberrecht : 2020 Durch w3codebox
# Autor durch: de.oldtoolbag.com
# Datum : 2020-08-08
app.config['MAIL_SERVER']='smtp.gmail.com'
 app.config['MAIL_PORT'] = 465
 app.config['MAIL_USERNAME'] = '[email protected]'
 app.config['MAIL_PASSWORD'] = "*****"
 app.config['MAIL_USE_TLS'] = False
 app.config['MAIL_USE_SSL'] = True

Abschnitt3Schritt - Erstellen Sie eine Instanz der Mail-Klasse.

# Dateiname : example.py
# Urheberrecht : 2020 Durch w3codebox
# Autor durch: de.oldtoolbag.com
# Datum : 2020-08-08
mail = Mail(app)

Abschnitt4Schritt - In der von der URL-Rule zugeordneten Python-Funktion (/in der ) den Message-Objekt festlegen.

# Dateiname : example.py
# Urheberrecht : 2020 Durch w3codebox
# Autor durch: de.oldtoolbag.com
# Datum : 2020-08-08
@app.route("/)")
 def index():
     msg = Message('Hallo', sender='[email protected]', recipients=['[email protected]'])
     msg.body = "Dies ist der E-Mail-Körper"
     mail.send(msg)
     return "Gesendet"

Abschnitt5Schritt - Der gesamte Code ist wie folgt. Führen Sie das folgende Skript im Python Shell aus und greifen Sie auf die URL zu: http://localhost:5000/.

# Dateiname : example.py
# Urheberrecht : 2020 Durch w3codebox
# Autor durch: de.oldtoolbag.com
# Datum : 2020-08-08
from flask import Flask
 from flask_mail import Mail, Message
 app = Flask(__name__)
 mail=Mail(app)
 app.config['MAIL_SERVER']='smtp.gmail.com'
 app.config['MAIL_PORT'] = 465
 app.config['MAIL_USERNAME'] = '[email protected]'
 app.config['MAIL_PASSWORD'] = "*****"
 app.config['MAIL_USE_TLS'] = False
 app.config['MAIL_USE_SSL'] = True
 mail = Mail(app)
 @app.route("/)")
 def index():
     msg = Message('Hallo', sender='[email protected]', recipients=['[email protected]'])
     msg.body = "Hallo Flask-Nachricht gesendet von Flask-Mail"
     mail.send(msg)
     return "Gesendet"
 if __name__ == '__main__':
     app.run(debug=True)

Bitte beachten Sie, dass die integrierten unsicheren Funktionen des Gmail-Dienstes die Login-Versuche blockieren können und möglicherweise die Sicherheitsstufe verringert werden muss. Bitte melden Sie sich bei Ihrem Gmail-Konto an und rufen Sie  Dieser Linkum die Sicherheit zu verringern.