Skip to content

Flask-Mailing is the ultimate solution for sending emails asynchronously in Flask applications. With its extensive features such as support for multiple email providers, file attachments, customizable templates, and encryption, Flask-Mailing makes email communication effortless and efficient.

License

Notifications You must be signed in to change notification settings

marktennyson/flask-mailing

Repository files navigation

✉️ Flask-Mailing

Flask mail logo

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 and WhoIsXmlApi
  • Unittests using Mail

More information on Getting-Started

📥 Downloads

Downloads Downloads Downloads

🔗 Important Links

❤️ Github

🐍 PYPI

🔨 Installation

 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 .

🦮 Guide

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"})     

🪜 List of Examples

For more examples of using flask-mailing please check example section

👍 Contributing

Feel free to open issues and send pull requests.

😀 Contributors ✨

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

📝 LICENSE

MIT

About

Flask-Mailing is the ultimate solution for sending emails asynchronously in Flask applications. With its extensive features such as support for multiple email providers, file attachments, customizable templates, and encryption, Flask-Mailing makes email communication effortless and efficient.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages