Как я могу ограничить количество писем, отправляемых с помощью SmtpClient (System.Net.Mail) в минуту в asp.net? - PullRequest
3 голосов
/ 25 марта 2011

У меня есть требование отправлять более 20000 писем с предупреждениями одним щелчком мыши, и я хотел ограничить количество отправляемых писем в минуту.

Существует ли какой-либо встроенный / альтернативный способ , который можно использоватьвместе с SmtpClient , чтобы сделать это иначе, чем давать System.Thread.Sleep (1000) после каждой отправки?

Помогает ли System.Thread.Sleep (1000) преодолеть ограниченное число подключений, которые почтовый сервер может обрабатывать одновременно ?

Ответы [ 2 ]

2 голосов
/ 25 марта 2011

Я думаю, что вы на правильном пути.

По умолчанию SMTPclient не предоставляет никакого способа ограничения почты, отправляемой за минуту. Таким образом, использование сна - единственный способ сделать это.

Чтобы сделать ваше приложение отзывчивым, вы можете использовать многопоточность.

0 голосов
/ 25 марта 2011

Я бы порекомендовал поставить их в очередь в MSMQ и позволить другому процессу выполнить эту работу, тогда ваше приложение может сообщить пользователю, что они отправляются или что-то еще должно произойти.

...