In my workplace we make a lot of Django apps and for a number of these Django apps, we configure a lots of emails to be sent.
Whenever something changes in the database that meets some condition we send an email. The emails have their own context and each email can be a time consuming to setup.
There has to be a better way I thought. And so, I built [django-email-signals](https://github.com/Salaah01/django-email-signals).
I build this app to be as plug-and-play as possible with minimal configuration. This Django app allows you to setup email signals right from the admin page
Here is a breakdown of what the app currently lets you do:
* Configure emails to be sent when some data in some model is changed.
* Set some constraints to determine if indeed an email can be sent.
* Either write up your email content when setting up a new email signal, or provide a path to a template.
* Be able to reference objects and attributes such `instance.user.first_name` right from where you would set your constraints or the email HTML itself.