Browse Source

Merge branch 'fancy_testweb_mails' into test

# Conflicts:
#	mamweb/settings_test.py
middleware_test
Jonas Havelka 4 years ago
parent
commit
746eb46c3a
  1. 5
      mamweb/settings_test.py
  2. 21
      various/mail_prefixer.py

5
mamweb/settings_test.py

@ -69,3 +69,8 @@ LOGGING['handlers']['registration_logfile']['filename'] = '/home/mam-web/logs/te
LOGGING['handlers']['registration_error_log']['filename'] = '/home/mam-web/logs/test/registration_errors.log'
FILE_UPLOAD_PERMISSIONS = 0o440
# Testování e-mailů
EMAIL_BACKEND = 'mamweb.various.mail_prefixer.PrefixingMailBackend'
# TODO Pouze na otestování testu… Zvolit konferu, případně může být i seznam
TESTOVACI_EMAILOVA_KONFERENCE = 'jonas.havelka@volny.cz'

21
various/mail_prefixer.py

@ -0,0 +1,21 @@
"""A simple email backend, which only prepends all subjects with a string.
Used to distinguish testing emails from production ones."""
# We try to monkeypatch django.core.mail.backends.smtp :-)
from django.core.mail.backends.smtp import EmailBackend as DjangoSMTPBackend
from django.conf import settings
class PrefixingMailBackend(DjangoSMTPBackend):
# method _send is not probably meant to be monkey_patched, so we patch send_messages instead.
def send_messages(self, messages):
prefix = '[Mail z testwebu]'
for message in messages:
# We hope that this is a django.core.mail.message.EmailMessage
message.subject = prefix + ' ' + message.subject
message.body = "Bylo by posláno na e-maily: " + str(message.recipients()) + "\n" + message.body
message.to = settings.TESTOVACI_EMAILOVA_KONFERENCE
message.cc = []
message.bcc = []
return super().send_messages(messages)
Loading…
Cancel
Save