Package: django-mail-panel
Django Debug Toolbar - Mail PanelTesting and debugging e-mail while developing a Django app has never been pleasant.  Sending e-mail to a file-based backend requires a user to click through obtusely-named files and does not provide a way to preview rendered HTML.  Sending e-mail to a valid mailbox incurs a delay as the message is processed though a mail server, and clutters a developer's inbox.The mail panel attempts to address these problems by providing a way to preview emails within the browser usingdjango-debug-toolbar.This mail panel is released under the Apache license. If you like it, please consider contributing!Special thanks to @ShawnMilo for the code review.InstallationTo install the mail panel, first install this package withpip install django-mail-panel.  Then add themail_panelapp afterdebug_toolbarto theINSTALLED_APPSsetting:INSTALLED_APPS=(...'debug_toolbar','mail_panel',)and add the panelDEBUG_TOOLBAR_PANELS:DEBUG_TOOLBAR_PANELS=(...'mail_panel.panels.MailToolbarPanel',)Collect static and you'll be good to go../manage.pycollectstaticConfigurationAfter installation, you now need to redirect mail to the mail toolbar.  Change your email backend to the following:EMAIL_BACKEND='mail_panel.backend.MailToolbarBackend'Important:This plugin uses Django's cache backend to store messages.  If you are usingDummyCache, the mail panel will use a local memory cache, and will reset messages when the server is restarted.[Optional]By default, mail toolbar stores messages for one day before removing them from cache.  You can change this with the following setting:MAIL_TOOLBAR_TTL=86400# 1 Day[Optional]If you use theDEBUG_TOOLBAR_PANELSto custom order your panels:DEBUG_TOOLBAR_PANELS=["debug_toolbar.panels.history.HistoryPanel","debug_toolbar.panels.versions.VersionsPanel","debug_toolbar.panels.timer.TimerPanel","debug_toolbar.panels.settings.SettingsPanel","debug_toolbar.panels.headers.HeadersPanel","debug_toolbar.panels.request.RequestPanel","debug_toolbar.panels.sql.SQLPanel","debug_toolbar.panels.staticfiles.StaticFilesPanel","debug_toolbar.panels.templates.TemplatesPanel","debug_toolbar.panels.cache.CachePanel","debug_toolbar.panels.signals.SignalsPanel","debug_toolbar.panels.logging.LoggingPanel","debug_toolbar.panels.redirects.RedirectsPanel","debug_toolbar.panels.profiling.ProfilingPanel","mail_panel.panels.MailToolbarPanel",# reposition to desired location]TestingTo preview emails sent from your test suite, add the email backend override to your tests with the following:fromdjango.test.utilsimportoverride_settings@override_settings(EMAIL_BACKEND='mail_panel.backend.MailToolbarBackend')deftest_send_email(self):# your code hereThe backend works similarly to the standard email backend and code should not need to be reworked when using the MailToolbarBackend.fromdjango.coreimportmailoriginal_outbox=len(mail.outbox)# Send mail ...assert(len(mail.outbox)==original_outbox+1)Shameless PlugsLike Django Mail Panel?  Be sure to check out and support these other tools for Mac that will improve your workflow:Kubermagic- Automate, and script away tedious kubectl commands with Kubermagic; a UI for developers, QA teams, and those starting to learn the ins-and-outs of Kubernetes.Red- A visual and interactive Redis client, featuring live updating keys, an interactive console, pub/sub, lua script support and much more.