[Mailman-Users] High usage -- making Mailman "nice"

Mark Sapiro msapiro at value.net
Sat Dec 10 05:51:05 CET 2005


John Dennis wrote:
>
>Depends on whether the client waits for a success status or not, which
>if my memory serves me correctly (its been failing lately :-) is not the
>behavior in an SMTP transaction. I believe the MTA accepts the input,
>queues the request and control is returned, at that point I believe the
>connection is typically closed. At this point the outgoing running will
>loop again and attempt initiate a new SMTP transaction. At least that
>how I think it works, plus the behavior is specific to each MTA.


Mailman, via SMTPDirect sends all the delivery chunks for a message
before returning control to the outgoing runner. Assuming we're not
VERPing or personalizing, it sends the 'MAIL FROM' command followed by
SMTP_MAX_RCPTS 'RCPT TO' commands, followed by 'DATA' and the message.
After receiving the response to the 'DATA', it (normally, but depends
on SMTP_MAX_SESSIONS_PER_CONNECTION) sends the 'MAIL FROM' for the
next chunk on the same connection.

It may throw in another HELO/EHLO between transactions. This is in the
Python smtplib, and I haven't looked in detail.


>If the client waits for the transaction to complete they of course
>you're right.


The client (Mailman) waits for the response to the 'DATA' command for
each chunk. This doesn't mean the mail has been sent, but it has been
accepted and queued within the MTA. How many queues the MTA uses at
this point to actually send the mail is up to the MTA, not Mailman.

-- 
Mark Sapiro <msapiro at value.net>       The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan




More information about the Mailman-Users mailing list