У меня неприятная проблема с одним из наших клиентов, на котором запущен обменный SMTP-сервер.
У меня есть компонент электронной почты, написанный на .net, и я специально использовал Mono DLL, чтобы гарантировать, что компонент электронной почты отправляет команды ELO и QUIT для каждого отправляемого сообщения.
Каждое отправленное мной письмо никогда не будет превышать 10 МБ, включая вложения, что меньше значения размера сеанса, установленного в конфигурации обмена клиентами.
Тем не менее проблема не устранена. Есть идеи, где искать?
При кодировании в base64 размер любых вложенных файлов будет увеличиваться на значительный процент, поэтому убедитесь, что между размером файла для всех вложений и максимальным размером сеанса не менее 30% свободного пространства.
википедия на base64:
Таким образом, фактическая длина MIME-совместимых двоичных данных в кодировке Base64 обычно составляет около 137% от исходной длины данных.
Также может быть стоит запустить WireShark на сервере или клиенте, чтобы точно проверить длину содержимого и убедиться, что он действительно выполняет то, что вы ему сказали, и отключает
Сколько писем вы отправляете за один сеанс? Вы отключаетесь и снова подключаетесь для каждой почты? Я слышал, что это происходит, если у вас слишком много сообщений в одном соединении.
Какие ограничения на размер электронной почты установлены на почтовом сервере? Размеры квот? и т.д.?
И что именно говорится в сообщениях об ошибках в журналах сервера Exchange?