Почему вы не можете отправлять несколько электронных писем асинхронно, используя один и тот же экземпляр SmtpClient?
-
21-09-2019 - |
Вопрос
Что написано на жестянке.
Решение
В соответствии с Страница MSDN в SmtpClient единственная цель SendAsync - разрешить вашему текущему потоку продолжить обработку вместо ожидания обработки передачи.Цель SendAsync не в том, чтобы позволить вам отправлять несколько сообщений одновременно, а в том, чтобы позволить вам продолжать обработку во время отправки сообщения.SendAsync и Send используют один и тот же конвейер, SendAsync просто позволяет вам выполнять другие действия во время отправки сообщения.
Другие советы
Согласно MSDN:
После вызова SendAsync необходимо дождаться завершения передачи электронной почты прежде чем пытаться отправить другое сообщение электронной почты с помощью Send или SendAsync.
Таким образом, вы могли бы повторно использовать один и тот же экземпляр, но вы должны дождаться отправки первого письма.