Я опубликовал еще один ответ StackOverflow, посвященный этой проблеме отправки большого количества электронных писем, которые можно найти, нажав здесь .
Конечно, лучше отправлять электронную почту асинхронно, чтобы иметь возможность максимизировать, сколько можно отправить за фиксированный период времени. Вы можете сделать это самостоятельно или использовать уже написанные компоненты для этого.
Я использую Fluent.NET Mail для создания и отправки отдельных писем, а я использую MassMailer.NET для отправки больших объемов писем.
Свободно .NET Mail
new Mail()
.Html(new MessageTemplate()
.FromText("This is my email with {content} text")
.DataFrom(new { content = "html" })
.BetweenBraces())
.To(new MailBox(emailAddress))
.From(new MailBox(emailAddress))
.Subject("Fluent API .NET 2")
.Timeout(5000)
.SmtpServer("[your smtp server]")
.SendAsync();
Проверьте сообщение.
MassMailer.NET
Прочтите этот пост, чтобы пример о том, как отправить большое количество писем.