diff options
| author | bwarsaw | 2000-05-30 22:41:49 +0000 |
|---|---|---|
| committer | bwarsaw | 2000-05-30 22:41:49 +0000 |
| commit | 5bc9a4cb95295fcf73c9329321ad1419fd542f48 (patch) | |
| tree | 842e75bf5cb921a23b23d1ce586c7029698af70f /Mailman/Handlers/HandlerAPI.py | |
| parent | 077821da9182d7de8d8e1ca2ab04b6670327f1f0 (diff) | |
| download | mailman-5bc9a4cb95295fcf73c9329321ad1419fd542f48.tar.gz mailman-5bc9a4cb95295fcf73c9329321ad1419fd542f48.tar.zst mailman-5bc9a4cb95295fcf73c9329321ad1419fd542f48.zip | |
Changes to honor SMTP_MAX_RCPTS again. Specifically,
deliver(): Does the actual job of delivering to a list of recipients.
Takes the mailing list object, the message, and the list of recipients
and returns a dictionary mapping refused/failed addresses to a 2-tuple
containing the error code and the error message. This function also
logs chunk delivery time -- the delivery time of the entire message
isn't recorded any longer.
chunkify(): Turn a list of recipient addresses into a list of lists,
where each sublist is no larger than SMTP_MAX_RCPTS in length. A
minimal amount of sorting is performed: addresses are collated on the
top-level domain (i.e. `.com', `.net', etc.), but each chunk is filled
completely. This should balance the ability to give the MTA a chance
to do more detailed delivery sorting with the amount of work being
done in this module.
process(): Changed logic to use chunkifying algorithm. If
SMTP_MAX_RCPTS is <= 0, no chunking is done. While we do still log
the recipients that fail, we don't know whether they all failed or
not. If any temporary failures occurred, raise SomeRecipientsFailed.
Diffstat (limited to 'Mailman/Handlers/HandlerAPI.py')
0 files changed, 0 insertions, 0 deletions
