Install from PyPI:

$ pip install django-email-log


Add email_log to INSTALLED_APPS in your settings file:


Then set django-email-log as your email backend in your settings file:

EMAIL_BACKEND = 'email_log.backends.EmailBackend'

By default attachments will not be saved to the database. If you want all attachments to be saved to the database, just set this to true:


And using this setting you can configure path to your attachments:

EMAIL_LOG_ATTACHMENTS_PATH = "path/to/attachments"

Using with other email backends

By default django-email-log uses Django’s SMTP backend to send emails. The EMAIL_LOG_BACKEND setting should be specified if you are using a custom email backend. For example:

EMAIL_LOG_BACKEND = 'yourapp.backends.YourCustomEmailBackend'

If you are using an email queueing backend such as django-celery-email, the django-email-log backend should be used behind the queuing backend so errors will be logged properly. For example with django-celery-email this should work:

CELERY_EMAIL_BACKEND = 'email_log.backends.EmailBackend'