1. Courier gets some 4xx error. There are other MXs available but as far as I can Courier tries the same MX several times if not all the time so message delivery is unnecessarily delayed or delivery even fails. Wouldn't it be better to try other MXs (same or different weights) in a round robin or similar fashion in every delivery attempt (obviously respecting weight precedence)?

4xx means "I'm busy right now, but you've reached a valid server, try later". Why should courier ever consider a different MX? Clearly the MX is valid and working, and if you just keep trying other ones you look like a spam bot. Email isn't a time-constrained transport. The message will most probably get to the destination within 4 days or so, depending on queue timeouts, it's not urgent.

2. Courier's connection to the other server times out so it defferes message delivery. There are other MXs available but as far as I can Courier tries the same MX several times if not all the time so message delivery is unnecessarily delayed or delivery even fails. Wouldn't it be better to try other MXs (same or different weights) in a round robin or similar fashion in every delivery attempt (obviously respecting weight precedence)?

Courier picks a random MX, check the source if you're concerned. Computers don't often have true random number generation, so it may look non-random. There will be a delay between each attempt, otherwise you look like a spam bot.

Because the problem I see is that Courier isn't behaving as robustly as it could in face of difficult situations real life presents to a MTA. I repeat I'm not claiming Courier has a bug. I claiming it could have a more robust behaviour. And to be entirely clear, I not saying Courier isn't robust, I'm saying it could be even more robust.

You're the only one with this issue that I've heard of.

If there is any further info that helps clarify my issue please let me know so I will provide it.

What happens when you use a manual connection, eg telnet, to do the same message sending? SMTP has a 30 second timeout iirc. See what happens. Use ethereal to see what's actually happening. Timeouts generally mean the other server has stopped responding or packets just aren't getting there. Since the other side say you're the only one with problems it does sound like a networking issue. Where is your server located? How is it connected to the internet? Are there any firewalls between it and the internet? The other side is using Postfix, I don't know of any issues with Postfix.
--
Phillip Hutchings
[EMAIL PROTECTED]


Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to