Попробуйте следующее: ваше MailMessage должно быть в блоке using
. Кроме того, вам не нужен новый SmtpClient
для каждого сообщения. Вам, конечно, не нужно устанавливать его в ноль! Это не VB6.
SmtpClient smtpClient = new SmtpClient(smtpServer);
smtpClient.ServicePoint.ConnectionLeaseTimeout = 0;
for (int i = 0; i < number; i++)
{
MailAddress to = new MailAddress(iMail.to);
MailAddress from = new MailAddress(iMail.from, iMail.displayName);
string body = iMail.body;
string subject = iMail.sub;
using (MailMessage mailMessage = new MailMessage(from, to))
{
mailMessage.Subject = subject;
mailMessage.Body = body;
mailMessage.IsBodyHtml = true;
mailMessage.Priority = MailPriority.Normal;
mailMessage.Sender = from;
smtpClient.Send(mailMessage);
}
}
Предложение: не называйте переменные такими вещами, как oMail
. Мы знаем это объект. Большинство вещей есть. В объектах больше нет ничего особенного.