View emails in development without actually sending them.
The full documentation is at https://django-mail-viewer.readthedocs.io.
Install Django Mail Viewer:
pip install django-mail-viewer
Add it to your INSTALLED_APPS:
INSTALLED_APPS = (
...
'django_mail_viewer',
...
)
Add Django Mail Viewer's URL patterns:
# You may want to only include this in development environments
urlpatterns = [
...
path('', include('django_mail_viewer.urls')),
...
]
Set your EMAIL_BACKEND in settings.py:
EMAIL_BACKEND = 'django_mail_viewer.backends.locmem.EmailBackend'
- TODO
Does the code actually work?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install tox (myenv) $ tox
- Passthrough backend - store the email for display in the views but also pass to another backend which may actually send
- Redis backend using Redis specific functionality for cleaner code and less risk of bugs vs the django cache backend
- Memcached backend
- File based backend - store each email as its own file
- Other backends? ElasticSearch? MongoDB?
- Separate views for each of html, plaintext, attachements, etc. to allow for more customization of display?
Tools used in rendering this package: