Настройка ограничений размера сообщений для определенного клиента

Область применения: Exchange Server 2013 г.

В Microsoft Exchange Server 2013 г. существует несколько разных ограничений на размер сообщений, которые применяются к сообщениям по мере их перемещения через организацию Exchange. Дополнительные сведения см. в статье Ограничения на размер сообщений.

Однако существуют ограничения на размер сообщений, зависящих от клиента, которые можно настроить для Outlook Web App и почтовых клиентов, использующих ActiveSync или веб-службы Exchange (EWS). При изменении ограничений на размер сообщений для всей организации в Exchange необходимо убедиться, что ограничения на размер сообщений для Outlook Web App, ActiveSync и веб-служб Exchange установлены соответствующим образом. Эти значения настраивают в файлах web.config на серверах клиентского доступа и серверах почтовых ящиков. Эти ограничения описаны в таблицах ниже.

Exchange ActiveSync:

Роль сервера Файл конфигурации Ключи и значения по умолчанию Размер
Клиентский доступ %ExchangeInstallPath%FrontEnd\HttpProxy\Sync\web.config maxAllowedContentLength="30000000 bytes"

(отсутствует по умолчанию, см. комментарии)
В байтах
Клиентский доступ %ExchangeInstallPath%FrontEnd\HttpProxy\Sync\web.config maxRequestLength="10240" В килобайтах
Mailbox %ExchangeInstallPath%ClientAccess\Sync\web.config maxAllowedContentLength="30000000 bytes"

(отсутствует по умолчанию, см. комментарии)
В байтах
Mailbox %ExchangeInstallPath%ClientAccess\Sync\web.config maxRequestLength="10240" В килобайтах
Mailbox %ExchangeInstallPath%ClientAccess\Sync\web.config <add key="MaxDocumentDataSize" value="10240000"> В байтах

Примечания к ограничениям ActiveSync:

По умолчанию ключ maxAllowedContentLength в web.config файлах для ActiveSync отсутствует. Однако максимальный размер сообщения для ActiveSync зависит от значения maxAllowedContentLength , применяемого ко всем веб-сайтам на сервере. Значение по умолчанию — 30000000 байт (30 МБ). Чтобы просмотреть эти значения для ActiveSync на серверах клиентского доступа и серверах почтовых ящиков в диспетчере IIS, выполните следующие действия.

  1. Выполните одно из следующих действий:

    • На сервере клиентского доступа откройте диспетчер IIS, перейдите в раздел Сайты>Веб-сайт по умолчанию и выберите Microsoft-Server-ActiveSync.
    • На сервере почтовых ящиков откройте диспетчер IIS, перейдите в разделСерверная часть Сайта> Exchange и выберите Microsoft-Server-ActiveSync.
  2. Убедитесь, что выбран пункт Просмотр возможностей, и дважды щелкните элемент Редактор конфигураций в разделе Управление.

  3. Щелкните стрелку раскрывающегося списка в поле Раздел , перейдите к system.webServer>security и выберите requestFiltering.

  4. В результатах разверните список requestLimits, после чего отобразится пункт maxAllowedContentLength и значение по умолчанию 30 000 000 (в байтах).

Чтобы изменить значение maxAllowedContentLength, введите новое значение в байтах и выберите элемент Применить. Необходимо изменить значение на серверах клиентского доступа и на серверах почтовых ящиков. После изменения значения в диспетчере IIS новый ключ maxAllowedContentLength записывается в соответствующий web.config файл (%ExchangeInstallPath%FrontEnd\HttpProxy\Sync\web.config на серверах клиентского доступа и %ExchangeInstallPath%ClientAccess\Sync\web.config на серверах почтовых ящиков).

Чтобы изменить максимальный размер сообщения для клиентов ActiveSync, необходимо изменить значение maxRequestLength в web.config файле на серверах клиентского доступа и серверах почтовых ящиков, MaxDocumentDataSize в web.config файле на серверах почтовых ящиков и maxAllowedContentLength в диспетчере IIS на серверах клиентского доступа и серверах почтовых ящиков.

Веб-службы Exchange:

Роль "Служить" Файл конфигурации Ключи и значения по умолчанию Размер
Клиентский доступ %ExchangeInstallPath%FrontEnd\HttpProxy\ews\web.config maxAllowedContentLength="67108864" В байтах
Mailbox %ExchangeInstallPath%ClientAccess\exchweb\ews\web.config maxAllowedContentLength="67108864" В байтах
Mailbox %ExchangeInstallPath%ClientAccess\exchweb\ews\web.config 14 экземпляров maxReceivedMessageSize="67108864" В байтах

Примечания об ограничениях веб-служб Exchange:

  • Существует 14 отдельных экземпляров значения maxReceivedMessageSize="67108864" , которые соответствуют различным сочетаниям привязок (http и https) и методов проверки подлинности.

  • Чтобы изменить максимальный размер сообщения для клиентов веб-служб Exchange, необходимо изменить значение maxAllowedContentLength в обоих web.config файлах и во всех 14 экземплярах maxReceivedMessageSize="67108864" файла web.config на серверах почтовых ящиков.

  • web.config В файле на серверах почтовых ящиков также есть два экземпляра значения maxReceivedMessageSize="1048576" для привязок UMLegacyMessageEncoderSoap11Element, которые не нужно изменять.

  • maxRequestLength — это параметр ASP.NET, который присутствует в обоих web.config файлах, но не используется веб-службами Exchange, поэтому его не нужно изменять.

Outlook Web App:

Роль сервера Файл конфигурации Ключи и значения по умолчанию Размер
Клиентский доступ %ExchangeInstallPath%FrontEnd\HttpProxy\owa\web.config maxAllowedContentLength="35000000" В байтах
Клиентский доступ %ExchangeInstallPath%FrontEnd\HttpProxy\owa\web.config maxRequestLength="35000" В килобайтах
Mailbox %ExchangeInstallPath%ClientAccess\Owa\web.config maxAllowedContentLength="35000000" В байтах
Mailbox %ExchangeInstallPath%ClientAccess\Owa\web.config maxRequestLength="35000" В килобайтах
Mailbox %ExchangeInstallPath%ClientAccess\Owa\web.config 2 экземпляра maxReceivedMessageSize="35000000" В байтах
Mailbox %ExchangeInstallPath%ClientAccess\Owa\web.config 2 экземпляра maxStringContentLength="35000000" В байтах

Примечания к ограничениям Outlook Web App:

  • web.config В файле на серверах почтовых ящиков есть два отдельных экземпляра значенийmaxReceivedMessageSize="35000000", maxStringContentLength="35000000" которые соответствуют привязкам http и https.

  • Чтобы изменить максимальный размер сообщения для Outlook Web App клиентов, необходимо изменить все эти значения в обоих файлах, включая оба экземпляра maxReceivedMessageSize и maxStringContentLength в web.config файле на серверах почтовых ящиков.

  • web.config В файле на серверах почтовых ящиков также есть экземпляр значения maxStringContentLength="102400" для привязки MsOnlineShellService, которое не нужно изменять.

Для всех ограничений на размер сообщений необходимо задать значения, превышающие фактические размеры, которые требуется применить. Это увеличение значений необходимо для учета неизбежного увеличения размера сообщения, которое происходит после того, как вложения сообщения и любые другие двоичные данные закодированы в кодировке Base64. Кодировка Base64 увеличивает размер сообщения примерно на 33 %, поэтому значения, указанные для любых ограничений на размер сообщения, примерно на 33 % больше, чем фактические размеры сообщений. Например, если указать максимальный размер сообщения 64 МБ, можно ожидать реалистичного максимального размера сообщения примерно в 48 МБ.

Что нужно знать перед началом работы

  • Предполагаемое время для завершения: 15 минут.

  • Разрешения Exchange не применяются к процедурам, описанным в этом разделе. Эти процедуры выполняются в операционной системе сервера Exchange.

  • Изменения, сохраненные в файле конфигурации Web.config, применяются после перезапуска IIS.

  • Чтобы увеличить размер на 33 % из-за кодировки Base64, умножьте нужное максимальное значение в мегабайтах на 4/3. Чтобы преобразовать это значение в килобайты, умножьте его на 1024. Чтобы преобразовать значение в байты, умножьте на 1048576 (1024*1024). Обратите внимание, что увеличение размера, вызванное кодировкой Base64, может превышать 33 % и зависит от нескольких факторов, например от размера файла вложения, типа, сжатия и почтового клиента, используемого для создания и отправки сообщения.

  • Все специальные настройки, выполненные для каждого сервера в XML-файлах конфигурации приложения Exchange, например в файлах web.config на серверах клиентского доступа или файлах EdgeTransport.exe.config на серверах почтовых ящиков, будут перезаписаны после установки накопительного пакета обновления Exchange. Обязательно сохраните нужные данные, чтобы упростить перенастройку сервера после установки. Эти параметры необходимо перенастроить после установки накопительного пакета обновления Exchange.

  • Сочетания клавиш для процедур, описанных в этой статье, приведены в статье Сочетания клавиш в Центре администрирования Exchange.

Совет

Возникли проблемы? Обратитесь за помощью к участникам форумов Exchange. Посетите форумы по адресу Exchange Server.

Настройка ограничения на размер сообщений для определенного клиента с помощью "Блокнота"

  1. Откройте соответствующие файлы web.config в "Блокноте". Например, чтобы открыть файлы web.config для клиентов веб-служб Exchange, выполните следующие команды:

    Notepad %ExchangeInstallPath%ClientAccess\exchweb\ews\web.config
    Notepad %ExchangeInstallPath%FrontEnd\HttpProxy\ews\web.config
    
  2. Найдите нужные ключи в соответствующих файлах web.config, как описано в таблицах, приведенных выше в этом разделе. Например, для клиентов веб-служб Exchange найдите ключ maxAllowedContentLength как в файлах, так и во всех 14 экземплярах значения maxReceivedMessageSize="67108864" в web.config файле на серверах почтовых ящиков.

    <requestLimits maxAllowedContentLength="67108864" />
    ...maxReceivedMessageSize="67108864"...
    

    Например, чтобы разрешить максимальный размер сообщения в кодировке Base64, равный примерно 64 МБ, измените все экземпляры 67108864 на 89478486 (64*4/3*1048576):

    <requestLimits maxAllowedContentLength="89478486" />
    ...maxReceivedMessageSize="89478486"...
    
  3. По завершении сохраните и закройте файлы web.config.

  4. Перезапустите IIS, выполнив следующую команду:

    IISReset /noforce
    

Настройка ограничений на размер сообщений для определенного клиента в командной строке

Настроить ограничения на размер сообщений для конкретных клиентов можно не только в "Блокноте", но и в командной строке. Откройте командную строку с повышенными привилегиями на сервере Exchange Server (используйте для этого команду Запуск от имени администратора) и выполните соответствующие команды для настройки нужных ограничений.

Примечания.

  • Значения размера в командах являются значениями по умолчанию, поэтому их необходимо изменить.

  • Обратите внимание на то, в каких единицах задано значение — в байтах или в килобайтах.

Настройка ограничений на размер сообщений ActiveSync

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:30000000
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync/" -section:system.web/httpRuntime /maxRequestLength:10240
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/Microsoft-Server-ActiveSync/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:30000000
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/Microsoft-Server-ActiveSync/" -section:system.web/httpRuntime /maxRequestLength:10240
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/Microsoft-Server-ActiveSync/" -section:appSettings "/[key='MaxDocumentDataSize'].value:10240000"

Настройка ограничений на размер сообщений веб-служб Exchange

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/ews/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSAnonymousHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSAnonymousHttpBinding'].httpTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSBasicHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSBasicHttpBinding'].httpTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSNegotiateHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSNegotiateHttpBinding'].httpTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSWSSecurityHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSWSSecurityHttpBinding'].httpTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSWSSecuritySymmetricKeyHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSWSSecuritySymmetricKeyHttpBinding'].httpTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSWSSecurityX509CertHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/customBinding.[name='EWSWSSecurityX509CertHttpBinding'].httpTransport.maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/webHttpBinding.[name='EWSStreamingNegotiateHttpsBinding'].maxReceivedMessageSize:67108864"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings "/webHttpBinding.[name='EWSStreamingNegotiateHttpBinding'].maxReceivedMessageSize:67108864"

Настройка ограничений на размер сообщений Outlook Web App

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/owa/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:35000000
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/owa/" -section:system.web/httpRuntime /maxRequestLength:35000
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:35000000
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.web/httpRuntime /maxRequestLength:35000
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.serviceModel/bindings "/webHttpBinding.[name='httpsBinding'].maxReceivedMessageSize:35000000"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.serviceModel/bindings "/webHttpBinding.[name='httpBinding'].maxReceivedMessageSize:35000000"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.serviceModel/bindings "/webHttpBinding.[name='httpsBinding'].readerQuotas.maxStringContentLength:35000000"
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.serviceModel/bindings "/webHttpBinding.[name='httpBinding'].readerQuotas.maxStringContentLength:35000000"

Как проверить, все ли получилось?

Чтобы убедиться, что вы успешно настроили ограничение на размер сообщений для конкретного клиента, необходимо отправить тестовое сообщение в почтовый ящик и из него, к которому обращается затронутый клиент. Вы можете использовать несколько небольших вложений или одно большое, чтобы тестовые сообщения были приблизительно на 33 % меньше заданного вами значения. Например, если указать значение 85 МБ, реалистичный максимальный размер сообщения будет равен приблизительно 64 МБ.