Skip to content

Send e-mails asyncronously using cron

License

Notifications You must be signed in to change notification settings

vilamatica/django-yubin

 
 

Repository files navigation

django-yubin

CI-CD status Coverage status PyPI version Python versions Django versions Documentation status

Django Yubin allows you to create, send and manage emails in your Django projects. It follows the 12-factors app methodology.

Yubin means postal service in Japanese. Thanks @morenosan for the name.

How it works

For creating and composing emails, Yubin provides class-based views that use standard Django templates.

For sending and queuing emails, Yubin replaces the standard Django Email Backend with its own. Instead of sending emails synchronously trough a SMTP server, Yubin saves emails in your database (and optionally in a file storage) and sends them asynchronously using the Celery distributed task queue.

Advantages

  • Create and compose emails reusing your code easily with class-based views.
  • Your app can respond requests faster because other process/worker is managing the connection with the SMTP server for sending emails.
  • Scale out easily adding more Celery workers.
  • Emails are saved in the database, you can see, manage and enqueue them from the Django Admin.
  • Optionally you can save only minimum data in the database and full emails in a different storage.
  • Yubin provides settings to avoid sending emails during development.

You can read the full documentation at http://django-yubin.readthedocs.org/

About

Send e-mails asyncronously using cron

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.5%
  • HTML 1.5%