У меня есть функция, которая отправляет электронную почту, используя встроенный в почтовый фрейм asp.net. Я включил это ниже.
public void SendMessage()
{
var message = new MailMessage();
var client = new SmtpClient();
// Get the Message Envelope Details
this.LoadMessageDetailsFromFile();
// Process rules (if any): Rules engine not implemented yet!
this.SetConfiguration(message);
// Formats the message body template using XSLT
this.FormatMessageBody(message);
// Adds the attachments
this.AddAttachments(message);
// Send the mail
client.Timeout = 999999999;
client.Send(message);
//Clean up attachments
foreach (var attachment in message.Attachments)
{
attachment.Dispose();
}
}
Теперь ни в коем случае общий размер сообщения не превышает 10 МБ, однако при обмене возникает ошибка, согласно которой максимальный размер каждого сеанса составляет 20 МБ. .Net как-то пакетно отправляет сообщения в SMTP? Почему возникает эта ошибка, даже если каждый раз, когда я отправляю электронное письмо, я создаю новый объект SMtpClient?
Точная ошибка обмена: размер сеанса превышает фиксированный максимальный размер сеанса
Кажется, что подчеркивающее соединение используется повторно, даже если вы создаете новые экземпляры SMTPClient.
Кто-нибудь знает обходной путь, не работает следующее:
Smtp client = new SmtpClient("hostname");
client.ServicePoint.MaxIdleTime = 0;
client.ServicePoint.ConnectionLimit = 1;
Заранее спасибо