I have a multithreaded mail app that is getting this error occasionally. It's a SmtpException. I'm resending the email later and it goes through OK from what I can tell. The network admin beside me is telling me this Exchange will respond with this message if I try to send more than 1000 messages in one connection.
Each thread (of which there are 4 per server) is creating it's own instance on the SmtpClient object and is never sending more than 200 messages through this at once (e.g. each thread retrieves a batch of 200 messages maximum). I'm sending around 10-200 messages a second depending on time of day.
I've looked at the System.Net.Mail assemblies using Reflector and it looks like the .NET framework does some connection pooling under the covers which may be part of the cause although I can't tell for sure.
So, with all this in mind, can someone point out some possible things to watch out for or dos and don'ts around this? The SmtpClient object doesn't have a explicit close method so I could hazard a guess and say that the connection to the smtp server isn't being closed when the object goes out of scope. Throughts on this?
View Complete Post