Лимиты на отправку и получение
Увеличение лимитов подключений и количества писем коннекторов приема
По умолчанию в Exchange не слишком большие лимиты для коннекторов приема. С одного IP можно отправлять не более 5 писем в минуту. Это довольно мало, если мы делаем большие автоматизированные рассылки, к примеру, для 1С. В этом случае часть писем будут уходить без проблем, а часть отбрасываться. В случае с 1С рассылкой, которая обращается на коннектор Client Frontend нужно увеличить лимиты ещё и для коннектора Client Proxy.
Это можно сделать следующим образом:
Set-ReceiveConnector -Identity "Client Proxy MX03" -MessageRateLimit 200 -MaxInboundConnection 10000 -MaxInboundConnectionPerSource 100 -MaxInboundConnectionPercentagePerSource 30 Set-ReceiveConnector -Identity "Client Frontend MX03" -MessageRateLimit 200 -MaxInboundConnection 10000 -MaxInboundConnectionPerSource 100 -MaxInboundConnectionPercentagePerSource 30
Изменение транспортных лимитов на отправку и приём
Узнать текущие транспортные лимиты можно командой
Set-TransportConfig
Выставить необходимый параметр можно, например, так:
Set-TransportConfig -ExternalDsnMaxMessageAttachSize 35MB
Лимиты Active Sync
Для протокола Active Sync в Exchange существуют отдельные лимиты, не связанные с лимитом коннекторов. В случае превышения лимита на отправку - на мобильном телефоне можно наблюдать сообщение о недоставленном письме следующего содержания:
EasSendFailedPermanentException: An EAS Send command failed: Unable to send the message: either the send quota has been exceeded; or the message was too large; or the mailbox is over-quota.
Ниже следует перечень конфигураций, где необходимо поменять данный лимит.
При рассчёте лимитов Active Sync - требуется учитывать, что все сообщения и вложения отправляются в кодировке base64, что увеличивает их фактический объём приблизительно на 33%.
1) Проверить файл:
C:\Program Files\Microsoft\Exchange Server\v15\ClientAccess\Sync\web.config
<httpRuntime maxRequestLength="30720" fcnMode="Disabled" /> <authentication mode="Windows" />
В данном случае, как видно, лимит установлен в 30 МБ.
2) Проверить настройки IIS для сайтов Default Web Site → Microsoft-Server-ActiveSync и Exchange Back End → Microsoft-Server-ActiveSync.
Для данных сайтов в консоли управления IIS нужно выбрать Features View и открыть Configuration Editor. Вверху, в графе section нужно найти следующий параметр: system.webServer/security/requestFiltering, далее раскрыть ветку requestLimits и задать maxAllowedContentLength в байтах.
Пример показан на скриншоте.
По умолчанию этот параметр установлен в 30000000 байт.
Параметр необходимо проверить для двух указанных выше сайтов.
3) Отредактировать настройки данного файла:
%ExchangeInstallPath%FrontEnd\HttpProxy\Sync\web.config
Интересующий нас параметр (по умолчанию установлен в 10 МБ):
maxRequestLength="10240"
4) Переходим к следующему файлу:
%ExchangeInstallPath%ClientAccess\Sync\web.config
Правим параметр, который также по умолчанию устанавливает лимит в 10 МБ.
maxRequestLength="10240"
5) Последний файл, который нас интересует:
%ExchangeInstallPath%ClientAccess\Sync\web.config
Здесь мы ищем строку следующего содержания также задающую лимит в 10 МБ:
<add key="MaxDocumentDataSize" value="10240000">
После изменения всех параметров - требуется перезагрузить службу IIS. Проще всего это сделать через консоль IIS (через команды меню: stop, start)
Проверить лимиты на отправку или получение в правилах
Ограничения по размеру писем могут быть заданы в транспортных правилах. Получить информацию об этом можно следующим образом:
Get-TransportRule | where {($_.MessageSizeOver -ne $null) -or ($_.AttachmentSizeOver -ne $null)} | Format-Table Name,MessageSizeOver,AttachmentSizeOver