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