diff options
| author | bwarsaw | 2002-03-09 01:28:16 +0000 |
|---|---|---|
| committer | bwarsaw | 2002-03-09 01:28:16 +0000 |
| commit | 87e337dfea7873154d18fc7c04473da450abe30a (patch) | |
| tree | bf0c690a0a28574876bf8c4ef9e4d233cc74691e /Mailman/Handlers/ToOutgoing.py | |
| parent | e78993c11b32d9e491c6f7bbdea368e6ca41c45f (diff) | |
| download | mailman-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
