Flask Mail, permite enviar correos electrónicos mediante un cliente SMTP previamente configurado en la aplicación en Flask; para instalar el paquete, tenemos:
$ pip install flask-mail
Configuraremos el servidor SMTP al cual vamos a conectarnos en el archivo de configuración:
app\my_app\config.py
class DevConfig(Config):
MAIL_SERVER = 'localhost'
MAIL_PORT = 25
MAIL_USERNAME = 'username'
MAIL_PASSWORD = 'password'
Y en el modo de desarrollo, también habilitamos:
app\my_app\config.py
class DevConfig(Config):
***
MAIL_DEBUG = True
MAIL_SUPPRESS_SEND = False
TESTING = True
Registramos la extensión de manera global a nivel de la aplicación:
app\my_app\__init__.py
from flask_mail import Mail
***
mail = Mail()
mail.init_app(app)
El siguiente código lo puedes tener de referencia para enviar emails según las configuraciones realizadas anteriormente:
from flask_mail import Message
from my_app import mail
def send_email():
msg = Message(body="Text Example",
sender="no-reply@MyWeb.net",
recipients=["andres@gmail.com"], subject="Subject")
try:
print(mail.send(msg))
except Exception as e:
print(e)
Si quieres definir contenido HTML:
msg = Message("Hello", sender=("Me", "me@example.com"))
msg.html = "<b>testing</b>"
O simplemente texto:
msg = Message("Hello", sender=("Me", "me@example.com"))
msg.body = "testing"
Puedes obtener más información en:
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter