summaryrefslogtreecommitdiff
path: root/Mailman/Handlers/ToOutgoing.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/Handlers/ToOutgoing.py')
-rw-r--r--Mailman/Handlers/ToOutgoing.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/Mailman/Handlers/ToOutgoing.py b/Mailman/Handlers/ToOutgoing.py
index 6e0ba8abf..f00e80246 100644
--- a/Mailman/Handlers/ToOutgoing.py
+++ b/Mailman/Handlers/ToOutgoing.py
@@ -1,4 +1,4 @@
-# Copyright (C) 1998,1999,2000,2001 by the Free Software Foundation, Inc.
+# Copyright (C) 1998,1999,2000,2001,2002 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,6 +27,18 @@ from Mailman.Queue.sbcache import get_switchboard
def process(mlist, msg, msgdata):
+ # Do VERP calculation for non-personalized interval delivery. BAW: We
+ # can't do this in OutgoingRunner.py (where it was originally) because
+ # that runner loads the list unlocked and we can't have it re-load the
+ # list state for every cycle through its mainloop.
+ interval = mm_cfg.VERP_DELIVERY_INTERVAL
+ # If occasional VERPing is turned on, and we aren't already VERPing the
+ # message...
+ if interval > 0 and not msgdata.get('verp'):
+ if interval == 1:
+ # VERP every time
+ msgdata['verp'] = 1
+ msgdata['verp'] = not int(mlist.post_id) % interval
# And now drop the message in qfiles/out
outq = get_switchboard(mm_cfg.OUTQUEUE_DIR)
outq.enqueue(msg, msgdata, listname=mlist.internal_name())