Python, al ser un lenguaje poderoso, no necesita ninguna biblioteca externa para importar y ofrece una biblioteca nativa para enviar correos electrónicos: «SMTP lib». «smtplib» crea un objeto de sesión de cliente de Protocolo simple de transferencia de correo que se utiliza para enviar correos electrónicos a cualquier identificación de correo electrónico válida en Internet. Este artículo gira en torno a cómo podemos enviar correos electrónicos masivos personalizados a un grupo de personas con la ayuda de Flask.
Instalación :
Se requieren tres paquetes para que funcione el correo del matraz, instálelo y luego use pip,
1) entorno virtual:
pip install virtualenv
2) Frasco:
pip install Flask
3) Frasco-Correo:
pip install Flask-Mail
Después de instalar los paquetes, tenemos que usar virtualenv (opcional)
1) Crear un virtualenv
Abrir cmd
Vaya a la carpeta que desea usar para su proyecto.
Escribe el siguiente código:
python3 -m venv env (macOS/Linux) py -m venv env (Windows)
Aquí env es el nombre de su entorno.
2) Activar el entorno
en Windows :
.\env\Scripts\activate
En macOS/Linux :
source env/bin/activate
3) Asegúrese de obtener el (env) al principio que se muestra en la imagen a continuación:
Configuración de Flask-Mail
Flask-Mail se configura a través de la API de configuración estándar de Flask. Estas son las opciones disponibles (cada una se explica más adelante en la documentación):
1) MAIL_SERVER : Nombre/dirección IP del servidor de correo electrónico.
2) MAIL_PORT : número de puerto del servidor utilizado.
3) MAIL_USE_TLS : habilitar/deshabilitar el cifrado de la capa de seguridad de transporte.
4) MAIL_USE_SSL : habilitar/deshabilitar el cifrado de capa de sockets seguros
5) MAIL_DEBUG : soporte de depuración. El valor predeterminado es el estado de depuración de la aplicación Flask.
6) MAIL_USERNAME : Nombre de usuario del remitente
7) MAIL_PASSWORD : La contraseña del correspondiente Nombre de usuario del remitente.
8) MAIL_ASCII_ATTACHMENTS : si se establece en verdadero, los nombres de archivo adjuntos se convierten a ASCII.
9)MAIL_DEFAULT_SENDER : establece el remitente predeterminado
10) MAIL_SUPPRESS_SEND : envío suprimido si app.testing se establece en verdadero
11) MAIL_MAX_EMAILS : establece el máximo de correos que se enviarán
Nota: No se debe establecer toda la configuración.
Envío de correos electrónicos usando Flask-Mail
Clases en Flask-Mail:
Clase de correo: administra los requisitos de mensajería de correo electrónico
Clase de mensaje: encapsula un mensaje de correo electrónico
Pongamos nuestras manos en el código.
# importing libraries from flask import Flask from flask_mail import Mail, Message app = Flask(__name__) mail = Mail(app) # instantiate the mail class # configuration of mail app.config['MAIL_SERVER']='smtp.gmail.com' app.config['MAIL_PORT'] = 465 app.config['MAIL_USERNAME'] = 'yourId@gmail.com' app.config['MAIL_PASSWORD'] = '*****' app.config['MAIL_USE_TLS'] = False app.config['MAIL_USE_SSL'] = True mail = Mail(app) # message object mapped to a particular URL ‘/’ @app.route("/") def index(): msg = Message( 'Hello', sender ='yourId@gmail.com', recipients = ['receiver’sid@gmail.com'] ) msg.body = 'Hello Flask message sent from Flask-Mail' mail.send(msg) return 'Sent' if __name__ == '__main__': app.run(debug = True)
Guárdelo en un archivo y luego ejecute el script en Python Shell o CMD y visite http://localhost:5000/.
Nota:
debido a las funciones de seguridad integradas de Google, el servicio de Gmail puede bloquear este intento de inicio de sesión. Puede que tenga que disminuir el nivel de seguridad. Visite https://myaccount.google.com/lesssecureapps?pli=1 para disminuir la seguridad.
Publicación traducida automáticamente
Artículo escrito por ayushsaxena77 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA