English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Les applications web basées sur le Web ont généralement besoin de disposer d'une fonction pour envoyer des e-mails aux utilisateurs/Fonction de l'envoi de courriers électroniques par le client. Flask-L'extension Mail rend très simple de configurer une interface simple pour n'importe quel serveur de messagerie
Au début, Flask-L'extension Mail peut être installée à l'aide de l'outil pip, comme indiqué ci-dessous -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 pip install Flask-Mail
Ensuite, vous devez configurer Flask en définissant les valeurs des paramètres de l'application suivants-Mail.
Numéro | Paramètres | Description |
1 | MAIL_SERVER | Nom du serveur de messagerie/Adresse IP |
2 | MAIL_PORT | Port du serveur utilisé |
3 | MAIL_USE_TLS | Activer/Désactivez le cryptage TLS |
4 | MAIL_USE_SSL | Activer/Désactivez le cryptage SSL |
5 | MAIL_DEBUG | Support de débogage, par défaut il s'agit de l'état de débogage de l'application Flask |
6 | MAIL_USERNAME | Nom d'utilisateur de l'expéditeur |
7 | MAIL_PASSWORD | Mot de passe de l'expéditeur |
8 | MAIL_DEFAULT_SENDER | Configurez l'expéditeur par défaut |
9 | MAIL_MAX_EMAILS | Configurez le nombre maximum d'e-mails à envoyer |
10 | MAIL_SUPPRESS_SEND | Si app.testing est configuré à true, les messages envoyés sont supprimés |
11 | MAIL_ASCII_ATTACHMENTS | Si il est configuré à true, le nom du fichier joint est converti en ASCII |
flask-Le module mail contient les définitions des classes importantes suivantes.
Il gère les exigences des messages électroniques. Le constructeur de la classe prend la forme suivante -
Numéro | Méthode | Description |
1 | send() | Envoyez le contenu de l'objet Message |
2 | connect() | Ouvrez une connexion avec l'hôte de messagerie |
3 | send_message() | Envoyez l'objet message |
Il encapsule un e-mail, le constructeur de la classe Message a plusieurs paramètres -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 flask-mail.Message(subject, recipients, body, html, sender, cc, bcc, réponse-to, date, charset, extra_headers, mail_options, rcpt_options)
attach() - Ajoutez un fichier joint à la message. Cette méthode prend les paramètres suivants - filename - Nom du fichier à joindre content_type - Type MIME du fichier data - Données du fichier original disposition - traitement des contenus, le cas échéant.
add_recipient() - Ajoutez un autre destinataire à la message.
Dans cet exemple, le serveur SMTP du service Gmail de Google est utilisé comme serveur de messagerie pour Flask-Le serveur de messagerie configuré par Mail.
Numéro1Étape - Dans le code, à partir de flask-Le module mail importe les classes Mail et Message.
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 from flask_mail import Mail, Message
Numéro2Étape - Ensuite, configurez Flask en fonction des paramètres suivants-Mail.
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 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
Numéro3Étape - Créez une instance de la classe Mail.
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 mail = Mail(app)
Numéro4Étape - Dans la fonction Python mappée par les règles d'URL ('/dans '))' pour configurer l'objet Message.
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 @app.route("/") def index(): msg = Message('Hello', sender = '[email protected]', recipients = ['[email protected]']) msg.body = "This is the email body" mail.send(msg) return "Sent"
Numéro5Étape - Voici tout le code. Exécutez le script suivant dans le Shell Python et accédez à l'URL : http://localhost:5000/.
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 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('Hello', sender = '[email protected]', recipients = ['[email protected]']) msg.body = "Hello Flask message sent from Flask-Mail" mail.send(msg) return "Sent" if __name__ == '__main__': app.run(debug=True)
Veuillez noter que les fonctionnalités intégrées non sécurisées du service Gmail peuvent bloquer cette tentative de connexion, il peut être nécessaire de réduire le niveau de sécurité. Veuillez vous connecter à votre compte Gmail et accéder à Ce lienPour réduire la sécurité.