Flask-Mailing adds SMTP mail sending to your Flask applications
Flask_Mail is dead now. This is the time to migrate a fully asynchronous based mailer library to send emails while using a Flask based application. Now Flask 2.0 supports the asynchronous view function then who is stopping you to use Flask-Mailing ?
The key features are:
- Most of the Apis are very familiar with
Flask-Mail
module. - sending emails with either with Flask or using asyncio module
- sending files either from form-data or files from server
- Using Jinja2 HTML Templates
- email utils (utility allows you to check temporary email addresses, you can block any email or domain)
- email utils has two available classes
DefaultChecker
andWhoIsXmlApi
- Unittests using Mail
More information on Getting-Started
❤️ Github
🐍 PYPI
pip install flask-mailing
or install from source code
git clone https://github.com/marktennyson/flask-mailing.git && cd flask-mailing
python -m pip install .
from flask import Flask, jsonify
from flask_mailing import Mail, Message
app = Flask(__name__)
app.config['MAIL_USERNAME'] = "YourUserName"
app.config['MAIL_PASSWORD'] = "strong_password"
app.config['MAIL_PORT'] = 587
app.config['MAIL_SERVER'] = "your mail server"
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USE_SSL'] = False
app.config['USE_CREDENTIALS'] = True
app.config['VALIDATE_CERTS'] = True
app.config['MAIL_DEFAULT_SENDER'] = "[email protected]"
mail = Mail(app)
html = """
<p>Thanks for using Flask-Mailing</p>
"""
@app.post("/email")
async def simple_send():
message = Message(
subject="Flask-Mailing module",
recipients=["[email protected]"], # List of recipients, as many as you can pass
body=html,
subtype="html"
)
await mail.send_message(message)
return jsonify(status_code=200, content={"message": "email has been sent"})
For more examples of using flask-mailing please check example section
Feel free to open issues and send pull requests.
Thanks goes to these wonderful people ([🚧]):
Aniket Sarkar 💬 👀 🚧 |
Joshua Kinslow |
Alexandre Gramfort |
This project follows the all-contributors specification. Contributions of any kind are welcome!
Before you start please read CONTRIBUTING