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

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

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

Примечание.

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

ActiveSync

Службы Файл конфигурации Ключи и значения по умолчанию Size
Служба клиентского доступа (интерфейсная) %ExchangeInstallPath%FrontEnd\HttpProxy\Sync\web.config maxAllowedContentLength="30000000" (отсутствует по умолчанию; см. примечания) В байтах
Служба клиентского доступа (интерфейсная) %ExchangeInstallPath%FrontEnd\HttpProxy\Sync\web.config maxRequestLength="10240" В килобайтах
Внутренняя служба %ExchangeInstallPath%ClientAccess\Sync\web.config maxAllowedContentLength="30000000 bytes" (отсутствует по умолчанию; см. примечания) В байтах
Внутренняя служба %ExchangeInstallPath%ClientAccess\Sync\web.config maxRequestLength="10240" В килобайтах
Внутренняя служба %ExchangeInstallPath%ClientAccess\Sync\web.config <add key="MaxDocumentDataSize" value="10240000"> В байтах

Комментарии к ограничениям для ActiveSync

По умолчанию ключ maxAllowedContentLength в файлах web.config для ActiveSync отсутствует. Однако максимальный размер сообщения для ActiveSync зависит от значения maxAllowedContentLength , применяемого ко всем веб-сайтам на сервере. Значение по умолчанию — 30 000 000 байтов. Чтобы просмотреть эти значения для 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 в разделе Сайты>По умолчанию Веб-сайт>Microsoft-Server-ActiveSync илиСерверная часть>exchange сайтов>Microsoft-Server-ActiveSync, а затем запрос фильтрации в разделе >IISИзменить параметры компонентов в области >ДействияМаксимальная разрешенная длина содержимого (байт) в разделе Ограничения запросов.

После изменения значения в диспетчере IIS новый ключ maxAllowedContentLength записывается в соответствующий файл клиентского доступа или серверной части web.config файл, описанный в таблице.

Веб-службы Exchange

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

Комментарии к ограничениям для EWS

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

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

Outlook в Интернете

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

Комментарии к ограничениям для Outlook в Интернете

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

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

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

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

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

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

  • Все настраиваемые параметры Exchange или IIS, внесенные в файлы конфигурации приложения Exchange XML на сервере Exchange Server (например, web.config файлы или EdgeTransport.exe.config файл), будут перезаписаны при установке exchange CU. Обязательно сохраните эти сведения, чтобы можно было легко повторно применить параметры после установки. После установки exchange CU необходимо повторно настроить эти параметры.

  • Сочетания клавиш для процедур, описанных в этой статье, приведены в статье Сочетания клавиш в Центре администрирования 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, как описано в таблицах, приведенных выше в этом разделе. Например, для клиентов EWS найдите ключ maxAllowedContentLength в файлах клиентского доступа и серверной части web.config и всех 14 экземпляров значения maxReceivedMessageSize="67108864" в серверном web.config файле.

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

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

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

  4. Перезапустите IIS на сервере Exchange одним из указанных способов:

    • В диспетчере IIS выберите сервера, а затем в панели действий нажмите Перезапустить.

      В диспетчере IIS выберите сервер и в области Действия нажмите кнопку Перезапустить.

    • Выполните следующие команды в командной строке с повышенными привилегиями (окно командной строки, открываемое путем выбора запуска от имени администратора):

      net stop w3svc /y
      
      net start w3svc
      

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

Настроить ограничения на размер сообщений для конкретных клиентов можно не только в "Блокноте", но и в командной строке. Откройте командную строку с повышенными привилегиями на сервере 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 в Интернете

%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 МБ.