Skip to main content

Flask mail system sending mails(individual, bulk) attachments(individual, bulk) fully asynchroniously

Project description

✉️ 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 mailer library to send emails using a Flask-based application. If Flask 2.0 supports the asynchronous view function, then who stops you from using Flask-Mailing ?

The key features are:

  • Most of the Apis is very similar to the Flask-Mail module.
  • sending emails to either with Flask or using asyncio module.
  • sending files either from form-data or files from the 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.
  • Unit tests using Mail.

More information on Getting-Started

📥 Downloads

Downloads Downloads Downloads

🚑 Package health score by snyk.io

Flask-Mailing

🔗 Important Links

❤️ Github

📄 Documentation

🐍 PYPI

🔨 Installation

 pip install flask-mailing

or install from the 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'] = "youremailid@doaminname.com"

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=["recipients@email-domain.com"],  # 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 go to these wonderful people ([🚧]):



Aniket Sarkar

💬 👀 🚧

Joshua Kinslow


Alexandre Gramfort


ahmetkurukose

This project follows the all-contributors specification. Contributions of any kind are welcome!

Before you start please read CONTRIBUTING

📝 LICENSE

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Flask-Mailing-0.2.2.tar.gz (15.1 kB view hashes)

Uploaded Source

Built Distribution

Flask_Mailing-0.2.2-py3-none-any.whl (18.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page