English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
Nummer | Parameter | Beschreibung |
1 | MAIL_SERVER | Name des E-Mail-Servers/IP-Adresse |
2 | MAIL_PORT | Portnummer des verwendeten Servers |
3 | MAIL_USE_TLS | Aktivieren/Deaktivieren der TLS-Verschlüsselung |
4 | MAIL_USE_SSL | Aktivieren/Deaktivieren der SSL-Verschlüsselung |
5 | MAIL_DEBUG | Debug-Unterstützung, Standardmäßig ist der Debug-Status der Flask-Anwendung |
6 | MAIL_USERNAME | Benutzername des Absenders |
7 | MAIL_PASSWORD | Passwort des Absenders |
8 | MAIL_DEFAULT_SENDER | Einstellen des Standard-Senders |
9 | MAIL_MAX_EMAILS | Einstellen der maximalen Anzahl der zu sendenden E-Mails |
10 | MAIL_SUPPRESS_SEND | Wenn app.testing auf true gesetzt ist, werden gesendete Nachrichten unterdrückt |
11 | MAIL_ASCII_ATTACHMENTS | Wenn auf true gesetzt, wird der Name des angehängten Dateis umgewandelt in ASCII |
flask-Das Modul mail enthält die Definitionen folgender wichtiger Klassen.
Es verwaltet die Anforderungen von E-Mail-Nachrichten. Der Konstruktor der Klasse Mail nimmt die folgenden Form -
Nummer | Methode | Beschreibung |
1 | send() | Senden Sie den Inhalt des Message-Objekts |
2 | connect() | Öffnen Sie eine Verbindung zum E-Mail-Host |
3 | send_message() | Senden Sie das Nachrichtenobjekt |
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)
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.