diff options
| author | Barry Warsaw | 2010-12-31 13:17:16 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2010-12-31 13:17:16 -0500 |
| commit | d0f8e9e03d3c55641165b73a4d8971ec514a9cdc (patch) | |
| tree | 5f1eab6eb5f863dc76c12b940262d3fee4b26688 /src/mailman/queue/incoming.py | |
| parent | 534e90fea33c52585c74fa9127cca8b70178d5e0 (diff) | |
| download | mailman-d0f8e9e03d3c55641165b73a4d8971ec514a9cdc.tar.gz mailman-d0f8e9e03d3c55641165b73a4d8971ec514a9cdc.tar.zst mailman-d0f8e9e03d3c55641165b73a4d8971ec514a9cdc.zip | |
Diffstat (limited to 'src/mailman/queue/incoming.py')
| -rw-r--r-- | src/mailman/queue/incoming.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mailman/queue/incoming.py b/src/mailman/queue/incoming.py index f91f6c90c..418723814 100644 --- a/src/mailman/queue/incoming.py +++ b/src/mailman/queue/incoming.py @@ -34,7 +34,12 @@ __all__ = [ ] +from zope.component import getUtility + +from mailman.config import config from mailman.core.chains import process +from mailman.interfaces.address import ExistingAddressError +from mailman.interfaces.usermanager import IUserManager from mailman.queue import Runner @@ -46,6 +51,15 @@ class IncomingRunner(Runner): """See `IRunner`.""" if msgdata.get('envsender') is None: msgdata['envsender'] = mlist.no_reply_address + # Ensure that the email addresses of the message's senders are known + # to Mailman. This will be used in nonmember posting dispositions. + user_manager = getUtility(IUserManager) + for sender in msg.senders: + try: + user_manager.create_address(sender) + except ExistingAddressError: + pass + config.db.commit() # Process the message through the mailing list's start chain. process(mlist, msg, msgdata, mlist.start_chain) # Do not keep this message queued. |
