Недавно я сталкивался с такой же проблемой, когда SmtpClient.SendMail(MailMessage)
неоднократно использовался с электронным письмом с вложением 350 КБ. Каждое 33-е сообщение будет содержать ошибку, которую вы дали.
Оказывается, наш общий компонент, который инкапсулировал функциональность SendMail, не вызывал Dispose()
в классе SmtpClient
, когда сообщение заканчивало отправку.
Добавление client.Dispose()
к экземпляру SmtpClient сразу решило проблему, и теперь сообщения выходят без проблем - их сотни (и да, они являются законными уведомлениями о продуктах для наших клиентов, а не спамом);)