У меня есть сайт, который использует много писем для подтверждения действий клиентов. По мере роста сайта количество электронных писем, генерируемых со страниц, также увеличивалось.
Недавно мы начали видеть, как сайт зависает (или, по крайней мере, любой, кто собирался отправить электронное письмо) на минуту или две. Я бы списал это на проблемы с сетью, но парни в офисе продолжали поднимать это, так что я исследовал. Оказывается, хотя в 95% случаев электронная почта работает нормально, время от времени кажется, что отправка электронной почты зависает на некоторое время, а затем вешает всех, кто следит за отправкой почты. Как будто CDO просто зависает и блокирует всех в очереди.
Я доказал это, написав запись базы данных непосредственно перед вызовом CDO.Send и обновив поле времени окончания сразу после ... предыдущая запись есть в 99% случаев, но время от времени после записи дата / время NULL, поэтому обновление никогда не вызывается.
У CDO вроде нет логов.
Код правильный, так как он работает до и после сбоя. Любые идеи?
РЕДАКТИРОВАТЬ: только что понял, что ошибка возникает, когда модуль электронной почты используется с двух разных ПК одновременно. Речь идет о модуле, который отправляет подтверждение доставки от наших клиентов. Используя сканер штрих-кода, мы сканируем номер заказа и номер доставки в приложение, а функция javascript перенаправляет на страницу ASP с деталями, которые будут включены в электронное письмо в QueryString.
С удовольствием отправлю код, если он сочтет нужным.