|
@ -7,6 +7,11 @@ Used to distinguish testing emails from production ones.""" |
|
|
from django.core.mail.backends.smtp import EmailBackend as DjangoSMTPBackend |
|
|
from django.core.mail.backends.smtp import EmailBackend as DjangoSMTPBackend |
|
|
from django.conf import settings |
|
|
from django.conf import settings |
|
|
|
|
|
|
|
|
|
|
|
def omezovatko_poctu_mailu(maily:list, maximum:int) -> str: |
|
|
|
|
|
if len(maily) <= maximum: return str(maily) |
|
|
|
|
|
# Aspoň zhruba simulujeme tisk pole… |
|
|
|
|
|
return '[' + ", ".join(f"'{mail}'" for mail in maily[:maximum - 1]) + f', … ({len(maily)} e-mailů) ]' |
|
|
|
|
|
|
|
|
class PrefixingMailBackend(DjangoSMTPBackend): |
|
|
class PrefixingMailBackend(DjangoSMTPBackend): |
|
|
# method _send is not probably meant to be monkey_patched, so we patch send_messages instead. |
|
|
# method _send is not probably meant to be monkey_patched, so we patch send_messages instead. |
|
|
def send_messages(self, messages): |
|
|
def send_messages(self, messages): |
|
@ -16,10 +21,13 @@ class PrefixingMailBackend(DjangoSMTPBackend): |
|
|
|
|
|
|
|
|
if message.from_email != settings.SERVER_EMAIL: |
|
|
if message.from_email != settings.SERVER_EMAIL: |
|
|
message.subject = prefix + ' ' + message.subject |
|
|
message.subject = prefix + ' ' + message.subject |
|
|
|
|
|
to = omezovatko_poctu_mailu(message.to, 3) |
|
|
|
|
|
cc = omezovatko_poctu_mailu(message.cc, 3) |
|
|
|
|
|
bcc = omezovatko_poctu_mailu(message.bcc, 3) |
|
|
message.body = f"""Bylo by posláno na e-maily: |
|
|
message.body = f"""Bylo by posláno na e-maily: |
|
|
To: {message.to} |
|
|
To: {to} |
|
|
Cc: {message.cc} |
|
|
Cc: {cc} |
|
|
Bcc: {message.bcc} |
|
|
Bcc: {bcc} |
|
|
"""+ "\n\n" + message.body |
|
|
"""+ "\n\n" + message.body |
|
|
message.to = settings.TESTOVACI_EMAILOVA_KONFERENCE |
|
|
message.to = settings.TESTOVACI_EMAILOVA_KONFERENCE |
|
|
message.cc = [] |
|
|
message.cc = [] |
|
|