I have a site which uses a lot of email to confirm actions to clients. As the site has grown the number of emails generated from the pages has grown likewise.
Recently we've started to see the site hanging (or at least anyone who was at the point of sending an email) for a minute or two. I'd put it down to network issues but the guys in the office kept raising it so I've investigated. It turns out that whilst email is going fine 95% of the time, now and again an email send seems to hang for a while and this then hangs anyone else who follows sending a mail. It's as if CDO just freezes and blocks anyone in the queue.
I've proven this by writing a database record immediately before the call to CDO.Send and updating an end time field on it one immediately after... the before record is there 99% of the time but now and again the after record has a NULL date/time so the update never gets called.
CDO seems to have no logs.
The code is correct as it works before and after the glitch. Any ideas?
EDIT: Just realized that the error occurs when the email module is used from two different PC's at the same time. We are talking about a module that sends shipping confirmation from our clients. Using a bar-code scanner we scan the order number and the shipping number into the application, and the javascript function redirects to the ASP page with the details to be included in the email in QueryString.
Happy to post the code if one finds it relevant.