Pages

Sunday, December 26, 2021

Fedora 35 : Python and Flask-Mailing on Fedora.

First of all, a Merry Christmas to the users and the Fedora team. Python version 3.10.1 works very well on Fedore 35 and today I tested a packet called: Flask_Mailing.
Flask-Mailing adds SMTP mail sending to your Flask applications., see the Github repo.
Let's start with the installation of this packet with the pip utility.
[mythcat@fedora ~]$ pip install -U flask-mailing
Defaulting to user installation because normal site-packages is not writeable
Collecting flask-mailing
  Downloading Flask_Mailing-0.0.5-py3-none-any.whl (15 kB)
...
Installing collected packages: rfc3986, anyio, typing-extensions, httpcore, dnspython, async-timeout, pydantic, httpx, 
email-validator, blinker, asgiref, aiosmtplib, aioredis, flask-mailing
    Running setup.py install for blinker ... done
Successfully installed aioredis-2.0.0 aiosmtplib-1.1.6 anyio-3.4.0 asgiref-3.4.1 async-timeout-4.0.2 blinker-1.4 dnspython-2.1.0
email-validator-1.1.3 flask-mailing-0.0.5 httpcore-0.14.3 httpx-0.21.1 pydantic-1.8.2 rfc3986-1.5.0 typing-extensions-4.0.1
I create a folder named ExempleFlask001:
[mythcat@fedora ~]$ mkdir ExempleFlask001
[mythcat@fedora ~]$ cd ExempleFlask001/
[mythcat@fedora ExempleFlask001]$ vi flask001.py
I created the simplest example to test through the import procedure and then read with the dir function, here is the source code:
from flask import Flask
from flask_mailing import Mail, Message

app = Flask(__name__)
@app.route("/")
def index():
    test = str(dir(Mail))
    return test
if __name__ == "__main__":
    app.run(debug=True)
The result of running the script on the command line:
[mythcat@fedora ExempleFlask001]$ python flask001.py
 * Serving Flask app 'flask001' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 319-368-265
 ...
The browser's response to the script is this: