Mark Mentovai <[EMAIL PROTECTED]> wrote:

>Why not?  You can have your cake and eat it too.  Efficient network
>utilization doesn't mean delayed or slow delivery.

Say you have 100 different messages to deliver to various users at
AOL. Which will be faster:

 1) Opening one connection to a single AOL MX and feeding them through 
    single-file, or

 2) Opening N connections to M AOL MX's and feeding one message to
    each?

Answer: 2

Now say you have one message to deliver to 5000 recipients at various
locations. Which will be faster:

 1) Sorting the list by MX or domain name, opening a single connection 
    to each, and feeding one or more messages through single-file, or

 2) Opening N connections to N recipient's MX's, delivering one
    message through each connection?

Answer: 2

>When an MTA receives a message that should be sent out remotely, it should
>determine, in order of preference, which remote hosts are candidates for
>relaying the message.  It should then attempt delivery to the
>best-preference host it can find, unless a certain number of active SMTP
>sessions to that host are already open.

There's a lot of up-front DNS lookup overhead there. Even Postfix,
which tries to be neighborly, only sorts by FQDN.

>(This number can be one, or it can
>be something else small in the interests of allowing for parallel delivery.  
>It should not be unlimited.)  If there are already too many active SMTP
>sessions to the remote host, the message should wait until one of those
>sessions has finished transferring a message.  Instead of closing the SMTP
>session, the sender would then transfer the new, waiting message.  When a
>new message hits the queue and a delivery is attempted, any other messages
>in the queue waiting to be delivered to the same host should also be sent
>across the same session, or set of sessions.

That's ten times as complicated as qmail's
one-qmail-remote-per-delivery method. If you can write such a complex
beast as correctly, reliably, efficiently, and securely as
qmail-rspawn/qmail-remote, by all means, do so. I will bow to your
greatness as I do to DJB's.

>An MTA should not split the same message up into multiple messages when
>transferring them beyond reason.  Although RFC 821 recommends that an SMTP
>server implementation place no arbitrary limitation on the number of
>recipients per message, it mandates that mail servers must be able to
>process up to 100 recipients.  If an MTA receives a message with 100
>recipients with the same MX, there is no reason to transfer the message to
>the remote mail exchanger 100 times.

One good reason: VERP.

-Dave

Reply via email to