Ускорить отправку нескольких писем через smtp-сервер с помощью системы.Сеть.Почта
Я довольно новичок в C#, но я многому научился у VB.Net о программировании в .Net для windows.
Я только что сделал простой SMTP-клиент, который отправляет электронные письма из программы. Это консольное приложение и может отправлять только одно электронное письмо через сервер за раз. Это очень медленно, и мне нужно отправить несколько писем через моего клиента в в то же время.
возможно ли это в C#?
1 ответов
проще использовать несколько потоков (несколько процессов).
В C# вы можете сделать это с помощью задач.
new Task(delegate {
smtpClient.send(myMessage);
}).Start();
просто обернуть send
команда в этом объекте, и она будет отправлена асинхронно.
будьте осторожны, если это обернуто в цикл, он начнет новый процесс для каждой почты.
Если вам нужно отправить большое количество писем, в то же время я предлагаю вам использовать ThreadPool
. Это позволяет контролировать, сколько concurent потоков вы хотели бы иметь на в то же время.