Я настроил Database Mail для отправки электронных писем от базы данных sql. У меня есть хранимая процедура, которая выбирает электронные письма подписчиков и отправляет им такие письма:
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'ProfileName',
@recipients = @email,
@subject = @thesubject,
@body = @themessage,
@body_format = 'HTML' ;
Учетная запись, используемая для отправки, работает нормально, потому что, когда я отправил тестовое письмо после настройки компонента Database Mail, оно было успешно отправлено, но проблема заключается в отправке нескольких писем.
В настоящее время в таблице содержится 50 электронных писем после выполнения хранимой процедуры. Я проверил таблицы msdb: sysmails_event_log, sysmails_faileditems и sysmails_sentitems. Я обнаружил, что были отправлены только первые 12 электронных писем, а остальные потерпели неудачу, а сообщение об ошибке в event_log было:
Почту не удалось отправить получателям из-за сбоя почтового сервера. (Отправка почты с использованием учетной записи 1 (2009-12-01T16: 55: 11). Сообщение об исключении: невозможно отправить почту на почтовый сервер. (Время операции истекло.).)
Я проверил электронные письма нет. 13 и более поздние версии, и я не нашел в них ничего плохого, поэтому я попытался выполнить процедуру еще раз, на этот раз она была отправлена на 1-е 14-е письмо, а остальные не удалось с той же ошибкой, поэтому я изменил процедуру и заставил ее выбрать почту начиная с номера почты 15
(как если бы он отправлял записи с 15 до 50) и проверял его, на этот раз он отправил на первое 13-е письмо, я выбрал от 27 до 50 и выполнил, снова отправил на первое 12.
Я не понимаю, что здесь происходит, каково это поведение отправки писем только в диапазоне 12-14 писем одновременно.
Может кто-нибудь помочь мне в этом?
Заранее спасибо