diff options
| author | Barry Warsaw | 2016-11-14 03:30:54 +0000 |
|---|---|---|
| committer | Barry Warsaw | 2016-11-14 03:30:54 +0000 |
| commit | 54d32b872ee4e67a64a176077dbc49a4f87b9324 (patch) | |
| tree | ba9170245c9f9c87f5604e02a8dc1aaf37443319 /src/mailman/email/message.py | |
| parent | 366dc6517716b7c77c4b7a76559b1b6b5996fc8e (diff) | |
| parent | a9e62e4350d1a108af972ab9dc2043f76b98a04c (diff) | |
| download | mailman-54d32b872ee4e67a64a176077dbc49a4f87b9324.tar.gz mailman-54d32b872ee4e67a64a176077dbc49a4f87b9324.tar.zst mailman-54d32b872ee4e67a64a176077dbc49a4f87b9324.zip | |
Diffstat (limited to 'src/mailman/email/message.py')
| -rw-r--r-- | src/mailman/email/message.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/mailman/email/message.py b/src/mailman/email/message.py index 994d44cce..ebfef9d9b 100644 --- a/src/mailman/email/message.py +++ b/src/mailman/email/message.py @@ -31,6 +31,7 @@ from email.header import Header from email.mime.multipart import MIMEMultipart from mailman import public from mailman.config import config +from mailman.interfaces.member import DeliveryStatus COMMASPACE = ', ' @@ -131,7 +132,7 @@ class UserNotification(Message): self['To'] = recipients self.recipients = set([recipients]) - def send(self, mlist, add_precedence=True, **_kws): + def send(self, mlist, *, add_precedence=True, to_moderators=False, **_kws): """Sends the message by enqueuing it to the 'virgin' queue. This is used for all internally crafted messages. @@ -141,6 +142,9 @@ class UserNotification(Message): :param add_precedence: Flag indicating whether a `Precedence: bulk` header should be added to the message or not. :type add_precedence: bool + :param to_moderators: Flag indicating whether the message should be + sent to the list's moderators instead of the list's membership. + :type to_moderators: bool This function also accepts arbitrary keyword arguments. The key/value pairs for **kws is added to the metadata dictionary associated with @@ -158,6 +162,12 @@ class UserNotification(Message): # don't override an existing Precedence: header. if 'precedence' not in self and add_precedence: self['Precedence'] = 'bulk' + if to_moderators: + self.recipients = set( + member.address.email + for member in mlist.moderators.members + if member.delivery_status is DeliveryStatus.enabled) + self['To'] = COMMASPACE.join(self.recipients) self._enqueue(mlist, **_kws) def _enqueue(self, mlist, **_kws): |
