summaryrefslogtreecommitdiff
path: root/Mailman/Handlers/ToOutgoing.py
diff options
context:
space:
mode:
authorbwarsaw2002-03-09 01:28:16 +0000
committerbwarsaw2002-03-09 01:28:16 +0000
commit87e337dfea7873154d18fc7c04473da450abe30a (patch)
treebf0c690a0a28574876bf8c4ef9e4d233cc74691e /Mailman/Handlers/ToOutgoing.py
parente78993c11b32d9e491c6f7bbdea368e6ca41c45f (diff)
downloadmailman-87e337dfea7873154d18fc7c04473da450abe30a.tar.gz
mailman-87e337dfea7873154d18fc7c04473da450abe30a.tar.zst
mailman-87e337dfea7873154d18fc7c04473da450abe30a.zip
A substantial rewrite to support deferring the final stitching of the
message until SMTP delivery time. This makes VERPish delivery much more efficient. One casualty is that threaded delivery (which was always marked as experimental) is now gone. It might be resurrected as a separate delivery module -- possibly called SMTPThreaded.py -- if there is enough pressure. Specific changes: Connection: New class which abstracts away the handling of disconnect and re-establishment of a connection to the SMTP server in response to the new SMTP_MAX_SESSIONS_PER_CONNECTION setting. process(): Streamline this function now that threaded delivery is gone, but add in the calculation of two types of single-threaded delivery: verpdeliver() for any VERP or personalized delivery, and bulkdeliver() for delivery of an identical copy to a set of recipients. Note that verpdeliver() calls bulkdeliver() after setting up the per-recipient specializations. pre_deliver(), threaded_deliver(): Gone; a victim of threaded delivery removal. verpdeliver(): New function which takes a list of recipients and crafts an in-memory copy of the message to be specialized and delivered to exactly one recipient. bulkdeliver(): Deliver an identical copy to a list of recipients. That list may be of length 1 <wink>.
Diffstat (limited to 'Mailman/Handlers/ToOutgoing.py')
0 files changed, 0 insertions, 0 deletions