nope. what I'm implying is that the inability to verify a return
address via SMTP within 35 seconds is a poor criterion for failing to
deliver a message. yes, the _majority_ (> 50%) of verifications will
complete in this time, but we need email to work a lot more often than
50% of the time.
Fair statement, but I contest the >50% simply because that will imply at
least 49% of all CBV sessions would fail due to a 35 timeout which is
clearly not the case.
you were the one that said majority. majority means more than half.
in my experience something like 1% of CBV sessions fail due to a 60
second timeout. and the failures aren't randomly distributed - the same
domains keep failing over and over. but it's important to deliver mail
from those people.
if you're going to do CBV you need to do the same things that an MTA
would do in trying to deliver mail to an address, before declaring the
address to be invalid. this implies not only implementing the
single-session SMTP timeouts but also being persistent in your attempts
to validate the address (so that a brief network or server outage
doesn't make the address appear invalid)
yes, this is a performance issue, but you might be able to finesse it
with a cache. e.g.
first smtp session from sender:
>>> MAIL FROM:<address(_at_)slow-to-respond(_dot_)com>
(server checks CBV cache, if not found, starts asynchronous CBV process)
<<< 250 <address(_at_)slow-to-respond(_dot_)com>
>>> RCPT TO:<recipient1(_at_)your-domain(_dot_)com>
<<< 250 <recipient1(_at_)your-domain(_dot_)com>
>>> DATA
(wait for up to N seconds for CBV to complete, then if not completed...)
<<< 421 CBV timeout, closing transmission channel
...which causes sender to retry later.
second smtp session from sender:
>>> MAIL FROM:<address(_at_)slow-to-respond(_dot_)com>
(server checks CBV cache, finds the entry)
<<< 250 <address(_at_)slow-to-respond(_dot_)com>
>>> RCPT TO:<recipient1(_at_)your-domain(_dot_)com>
<<< 250 <recipient1(_at_)your-domain(_dot_)com>
>>> DATA
<<< 354 start mail input
>>> (message followed by .)
etc.
the assumption here is that you're willing to try a CBV up to as often
as the sender is willing to try to send you the message, and if any of
those CBVs succeeds then you'll consider that address valid for a
reasonable amount of time. but the CBV's have to honor the SMTP
timeouts. really you should never treat a single timed out CBV attempt
as an indication of a bad address - the address is only bad if the SMTP
server says it is, or if you are unable to talk to its SMTP server for
several days.
really, one failure in ten thousand legitimate
messages is too high...we should be able to achieve one failure in a
hundred thousand messages or better.
Is this a standard criteria for acceptance? If so, our statistics meet
this criteria.
based on your public statements, I have zero faith in your ability to
measure such things accurately.
Keith