@ -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 = [ ]