I was flipping through the manual for exim, an MTA from which qmail could
take a few hints, and noticed that they do a nice optimization by reusing
open SMTP connections. That is, after delivering a message, if there's
another message going the same place, it sends an RSET and uses the same
open connection.
Before you flame me, this is NOT the same thing as sending the same copy
of a message to multiple recipients, which I happen to agree is a bad idea
if only because it breaks the wonderful automatic list cleaning made
possible by the per-receipient sender addresses.
This is two separate deliveries which may or may not be the same message,
but instead of tearing down a virtual circuit and immediately setting up a
new one to the same place, it reuses the one that's already open. It
looks to me like this is clearly a win, since you avoid the teardown and
setup packets, and RSET/250 is one round trip, whereas QUIT/221 and then
220/EHLO/250 is two and half.
Is there any structural reason why qmail couldn't do this? Exim looks at
the outgoing queue and if it sees a suitable message, re-execs itself
with a flag so it knows its connection is already open.
Regards,
John Levine, johnl@iecc.com, http://iecc.com/johnl, Trumansburg NY
Primary Perpetrator of "The Internet for Dummies"
and Information Superhighwayman wanna-be
take a few hints, and noticed that they do a nice optimization by reusing
open SMTP connections. That is, after delivering a message, if there's
another message going the same place, it sends an RSET and uses the same
open connection.
Before you flame me, this is NOT the same thing as sending the same copy
of a message to multiple recipients, which I happen to agree is a bad idea
if only because it breaks the wonderful automatic list cleaning made
possible by the per-receipient sender addresses.
This is two separate deliveries which may or may not be the same message,
but instead of tearing down a virtual circuit and immediately setting up a
new one to the same place, it reuses the one that's already open. It
looks to me like this is clearly a win, since you avoid the teardown and
setup packets, and RSET/250 is one round trip, whereas QUIT/221 and then
220/EHLO/250 is two and half.
Is there any structural reason why qmail couldn't do this? Exim looks at
the outgoing queue and if it sees a suitable message, re-execs itself
with a flag so it knows its connection is already open.
Regards,
John Levine, johnl@iecc.com, http://iecc.com/johnl, Trumansburg NY
Primary Perpetrator of "The Internet for Dummies"
and Information Superhighwayman wanna-be