Почему вы не можете отправлять несколько электронных писем асинхронно, используя один и тот же экземпляр SmtpClient?

StackOverflow https://stackoverflow.com/questions/1773283

Вопрос

Что написано на жестянке.

Это было полезно?

Решение

В соответствии с Страница MSDN в SmtpClient единственная цель SendAsync - разрешить вашему текущему потоку продолжить обработку вместо ожидания обработки передачи.Цель SendAsync не в том, чтобы позволить вам отправлять несколько сообщений одновременно, а в том, чтобы позволить вам продолжать обработку во время отправки сообщения.SendAsync и Send используют один и тот же конвейер, SendAsync просто позволяет вам выполнять другие действия во время отправки сообщения.

Другие советы

Согласно MSDN:

После вызова SendAsync необходимо дождаться завершения передачи электронной почты прежде чем пытаться отправить другое сообщение электронной почты с помощью Send или SendAsync.

Таким образом, вы могли бы повторно использовать один и тот же экземпляр, но вы должны дождаться отправки первого письма.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top