English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Las aplicaciones web basadas en la web suelen necesitar tener la capacidad de enviar correos electrónicos a los usuarios/Función de envío de correo electrónico del cliente. Flask-La extensión Mail hace que sea muy simple configurar una interfaz simple para cualquier servidor de correo electrónico
Inicialmente, Flask-La extensión Mail se puede instalar con la herramienta pip, como se muestra a continuación -
# Nombre de archivo : example.py # Derechos de autor : 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha : 2020-08-08 pip install Flask-Mail
Luego es necesario configurar los valores de los siguientes parámetros de la aplicación para configurar Flask-Mail.
Número | Parámetros | Descripción |
1 | MAIL_SERVER | Nombre del servidor de correo/Dirección IP |
2 | MAIL_PORT | El número de puerto del servidor utilizado |
3 | MAIL_USE_TLS | Habilitar/Deshabilitar la encriptación de capa de transporte segura |
4 | MAIL_USE_SSL | Habilitar/Deshabilitar la encriptación de capa de seguridad de sockets |
5 | MAIL_DEBUG | Soporte de depuración, predeterminado es el estado de depuración de la aplicación Flask |
6 | MAIL_USERNAME | Nombre de usuario del remitente |
7 | MAIL_PASSWORD | Contraseña del remitente |
8 | MAIL_DEFAULT_SENDER | Configurar el remitente predeterminado |
9 | MAIL_MAX_EMAILS | Configurar el número máximo de correos electrónicos a enviar |
10 | MAIL_SUPPRESS_SEND | Si app.testing se establece en true, se suprime el envío |
11 | MAIL_ASCII_ATTACHMENTS | Si se establece en true, se convierte el nombre del archivo adjunto en ASCII |
flask-El módulo mail contiene las definiciones de las siguientes clases importantes.
Maneja los requisitos de mensaje de correo electrónico. El constructor de la clase toma la siguiente forma -
Número | Método | Descripción |
1 | send() | Enviar el contenido del objeto Message |
2 | connect() | Abrir conexión con el host de correo |
3 | send_message() | Enviar el objeto mensaje |
It encapsulates an email, the constructor of the Message class has several parameters -
# Nombre de archivo : example.py # Derechos de autor : 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha : 2020-08-08 flask-mail.Message(subject, recipients, body, html, sender, cc, bcc, respuesta-to, date, charset, extra_headers, mail_options, rcpt_options)
attach() - Agregue un archivo adjunto al mensaje. Este método toma los siguientes parámetros - filename - el nombre del archivo que se va a adjuntar content_type - el tipo MIME del archivo data - datos del archivo original disposition - tratamiento de contenido, si lo hay.
add_recipient() - Agregue otro destinatario al mensaje
En el siguiente ejemplo, se utiliza el servidor SMTP del servicio Gmail de Google como servidor de Flask-El servidor de correo configurado por Mail.
Número1Paso - Desde flask-El módulo mail importa las clases Mail y Message.
# Nombre de archivo : example.py # Derechos de autor : 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha : 2020-08-08 from flask_mail import Mail, Message
Número2Paso - Luego configure Flask según las siguientes configuraciones-Mail.
# Nombre de archivo : example.py # Derechos de autor : 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha : 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
Número3Paso - Cree una instancia de la clase Mail.
# Nombre de archivo : example.py # Derechos de autor : 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha : 2020-08-08 mail = Mail(app)
Número4Paso - En la función Python mapeada por las reglas de URL (/en el ) se configura el objeto Message.
# Nombre de archivo : example.py # Derechos de autor : 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha : 2020-08-08 @app.route("/)") def index(): msg = Message('Hello', sender='[email protected]', recipients=['[email protected]']) msg.body = "Este es el cuerpo del correo electrónico" mail.send(msg) return "Enviado"
Número5Paso - Todo el código se muestra a continuación. Ejecute el siguiente script en el Shell de Python y acceda a la URL: http://localhost:5000/.
# Nombre de archivo : example.py # Derechos de autor : 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha : 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 "Enviado" if __name__ == '__main__': app.run(debug=True)
Tenga en cuenta que las funciones inseguras integradas en el servicio de Gmail pueden bloquear este intento de inicio de sesión, es posible que necesite reducir el nivel de seguridad. Inicie sesión en su cuenta de Gmail y acceda a Este enlacePara reducir la seguridad.