У меня есть функция, которая отправляет электронную почту с помощью asp.net, созданного в почтовой системе. Я включил его ниже.SmtpClient не закрывает сеанс после отправки сообщения
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 Мб, однако обмен производит ошибку о том, что 20MB это максимальный размер для каждой сессии. Делает ли .net как-то пакетное сообщение на SMTP? Зачем это делать, даже когда я отправляю электронное письмо, я создаю новый объект SMtpClient?
Exact Обмен Ошибка: размер сеанса превышает фиксированный максимальный объем сессии
Кажется, что подчеркивает соединение повторно, даже если вы создаете новые экземпляры SmtpClient.
Каждый знает обходной путь, следующий не работает:
Smtp client = new SmtpClient("hostname");
client.ServicePoint.MaxIdleTime = 0;
client.ServicePoint.ConnectionLimit = 1;
Заранее спасибо
Хост для настройки SMTP-сервера - это сам сервер Exchange? –
Да, это правильно. –
Я бы предложил вам заглянуть в журнал Exchange (если возможно), чтобы проверить, действительно ли цикл рассматривается как один сеанс с точки зрения обмена. –