[Top] [All Lists]

Re: Bounce/System Notification Address Verification

2005-06-29 07:36:29

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 .)

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.


<Prev in Thread] Current Thread [Next in Thread>