summaryrefslogtreecommitdiff
path: root/Mailman/Handlers/HandlerAPI.py
diff options
context:
space:
mode:
authorbwarsaw2000-05-30 22:41:49 +0000
committerbwarsaw2000-05-30 22:41:49 +0000
commit5bc9a4cb95295fcf73c9329321ad1419fd542f48 (patch)
tree842e75bf5cb921a23b23d1ce586c7029698af70f /Mailman/Handlers/HandlerAPI.py
parent077821da9182d7de8d8e1ca2ab04b6670327f1f0 (diff)
downloadmailman-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