[vchkpw] Alternate routing for failed send

2007-07-12 Thread ISP Lists
I had a case where a single destination SMTP MX server was denying my send
request from what appeared to be an IP range-based RBL blacklist.  Nobody
elses MXs levered that blacklist, so I only had the one problem delivery.

I was able to mockup a gateway on another server of mine in another IP
block and I temporarily used 'smtproutes' to clear my queue for that
issue.

Q: What solutions are being used in the wild to deal with this kind of case?

I could see an 'smtproutes' file that uses a :farm.of.hostnames.tld in
order to send your outbound email through a farm of servers in diverse
netblocks, but that implies a bit more scale than I can offer/afford.

I don't believe there's any available logic that says something like
after a message is SMTP-connect-refused XX times, please try alternate
send path via 'othersmtproutes'  That's probably more overhead than
value, but it occurred to me...

Feedback is most welcome.  (Please let me know if this is more appropriate
for the qmail list than vpopmail.)

Dave



Re: [vchkpw] Alternate routing for failed send

2007-07-12 Thread Rick Romero

On Thu, 2007-07-12 at 08:54 -0500, ISP Lists wrote:
 I had a case where a single destination SMTP MX server was denying my send
 request from what appeared to be an IP range-based RBL blacklist.  Nobody
 elses MXs levered that blacklist, so I only had the one problem delivery.

 I was able to mockup a gateway on another server of mine in another IP
 block and I temporarily used 'smtproutes' to clear my queue for that
 issue.
 
 Q: What solutions are being used in the wild to deal with this kind of case?
 
 I could see an 'smtproutes' file that uses a :farm.of.hostnames.tld in
 order to send your outbound email through a farm of servers in diverse
 netblocks, but that implies a bit more scale than I can offer/afford.
 
 I don't believe there's any available logic that says something like
 after a message is SMTP-connect-refused XX times, please try alternate
 send path via 'othersmtproutes'  That's probably more overhead than
 value, but it occurred to me...
 
 Feedback is most welcome.  (Please let me know if this is more appropriate
 for the qmail list than vpopmail.)

That sounds like a great idea, having had that problem myself, but
unfortunately RBL rejectios don't have their own error code. A 5xx for
RBL could just as likely be a 5xx for INBOX Full, and you wouldn't
know which one to resend.  

I suppose you could come up with another file that listed 'rblwords' to
search the 5xx string for - but IMHO this is a solution for an 'after'
problem.   It's best to do whatever you can to prevent getting on the
blacklists in the first place.

Personally, I run a free email service, and I have 3 queues that mail
flows though before it leaves me.  Every minute I run qmail-qstat on the
last two queues.  If the number of messages 'jumps' past a pre-defined
number, I set concurrencyremote to 0, and use yet another queue to email
myself that there's trouble.   It could be more advanced, creating some
sort of moving scale because valid retries waiting in queue can increase
the current number of email to go out - but just setting a number works
pretty well for me because I'm not that big ;)

I'm sure there's one or two blacklist-listers out there that you can
probably poll on a regular basis and email yourself if you show up on
ANY list.  I was just recently considering doing that...

Rick