Ограничение размера отправляемых и получаемых сообщений в Exchange 2010
Рис.1: Процесс пересылки сообщений.
Из рисунка можно сделать вывод, что при получении письмо проходит минимум через три соединителя, ровно как и при отправке. Следовательно, необходимо учитывать ограничения, установленные на всех 3-х соединителях. При этом ещё существуют глобальны ограничения организации и ограничения пользователя.
Порядок применения ограничений при получении сообщения
При получении сообщения сервером Exchange 2010 из сети Интернет, имеет место быть следующий порядок применения ограничений (рис.2):
Рис.2: Порядок применения ограничений при получении сообщения из Интернета.
Примечание: Конфигурация транспорта для Edge сервера и для организации – это разные вещи! В конфигурации транспорта на Edge`e не используются такие параметры как MaxReceiveSize и MaxRecipientEnvelopeLimit (установлены в unlimited), т.к. здесь применяются ограничения соединителей. При этом на соединителе приема не будет отрабатывать ограничение на размер сообщения, т.к. Edge сервер входит в группу ExchangeServers, которая имеет полномочие Ms-Exch-Bypass-Message-Size-Limit, разрешающее прохождение сообщений через соединитель приема без проверки размера сообщения.
Порядок применения ограничений при отправке сообщений
В случае отправки сообщения порядок применения ограничений будет следующим:
Рис.3: Отправка сообщений пользователем организации Exchange в сеть Интернет.
Примечание: Здесь, аналогично процедуре получения сообщений, на Edge сервере не используются параметры MaxReceiveSize и MaxRecipientEnvelopeLimit (установлены в unlimited), т.к. эти фильтры применяются на соответствующих соединителях.
Настройка ограничений
На рис.2 и рис.3 изображены параметры, которые участвуют в фильтрации сообщений, и их значения по умолчанию для сервера Exchange 2010. Для того, чтобы изменить значения по умолчанию, необходимо воспользоваться соответствующими средствами управления.
Организация
Настройки организации можно редактировать как через EMC так и через EMS.
В графической консоли управления, параметры транспорта можно найти на уровне Конфигурирования организации – Транспортный сервер-концентратор – Глобальные параметры – Параметры транспорта (рис.4).
Рис.4: Конфигурирование глобальных транспортных параметров организации.
В PowerShell параметры транспорта можно задать командлетом Set-TransportConfig:
1. Получаем текущие значения:
Get-TransportConfig | fl *size*
2. Изменяем максимальный размер отправляемых сообщений:
Set-TransportConfig –MaxSendSize 20Mb
Рис.5: Конфигурирование глобальных транспортных параметров организации через PowerShell.
Соединители
Для редактирования ограничений на соединителях можно открыть Exchange Management Console – Уровень конфигурирования организации либо Уровень серверов – Транспортный сервер-концентратор – Соединитель … (рис.6):
Рис.6: Управление ограничением размера сообщений на соединителях.
И изменить значение в поле «Максимальный размер сообщения (КБ)».
Либо воспользоваться PowerShell:
1. Получаем список коннекторов:
Get-SendConnector или Get-ReceiveConnector
2. Устанавливаем значения ограничений, например:
Set-SendConnector -Identity <имя_коннектора> -MaxMessageSize <значение, например 20Mb>
Сервер
Настройка конкретных серверов производится командлетом Set-TransportServer с параметрами:
PickupDirectoryMaxHeaderSize – максимальный размер заголовка сообщения;
PickupDirectoryMaxRecipientsPerMessage – максимальное количество получателей
Получатель либо отправитель
В данном случае в роли получателя, либо отправителя сообщения может быть любой объект организации с включенной поддержкой почты, например пользователи, группы, контакты и т.п.. В каждом отдельном случае ограничения будут устанавливаться по-разному, но принцип здесь один — в графической консоли подобные настройки делаются в Свойствах объекта, на вкладке Параметры потока почты (рис.7):
Рис.7: Редактирование параметров потока почты для почтового ящика пользователя.
В командной консоли они устанавливаются командлетам Set-Mailbox, -MailUser, -MailContact, -DistributionGroup, -DynamicDistributionGroup, -MailPublicFolder с соответсоответствующими параметрами –MaxReceiveSize, -MaxSendSize, — RecipientLimits, -MaxRecipientPerMessage.
Нюансы
Разобравшись с принципами применения различных фильтров сообщений в организации Exchange, я хочу обратить ваше внимание на несколько нюансов, которые стоит учитывать при настройке ограничений.
Размер сообщения
При входе сообщения в организацию, сервер Exchange рассчитывает общий размер сообщения и записывает его в настраиваемый заголовок в поле
X-MS-Exchange-Organization-OriginalSize
последующие сервера Exchange, участвующие в пересылке, не пересчитывают размер сообщения, а используют значение этого параметра. Здесь нужно понимать, что при «путешествии» сообщения по серверам в организации Exchange его размер может изменяться вследствие преобразования, кодирования, обработки агентами и т.п..
Реальный размер вложения
Следует знать, что при отправке сообщения с вложениями внешнему получателю, сервер Exchange перекодирует его в формат MIME, используя алгоритм Base64. Это приводит к росту размера сообщения примерно на 30%. Данное перекодирование осуществляется по причине того, что стандартное SMTP сообщение может содержать только символы кодовой таблицы US-ASCII, следовательно, любые отличные символы должны быть конвертированы в этот формат.
«Раздувания» сообщений при пересылке между внутренними пользователями организации Exchange не происходит.
Ограничение числа получателей
Ограничение числа получателей на соединителях устанавливается параметром MaxRecipientsPerMessage и по умолчанию ограничивается числом 200. Это означает, что если анонимный отправитель попытается превысить число получателей, то сервер примет сообщение только для первых 200. Но большинство SMTP серверов распознают подобные ограничения и отправляют сообщения группами по 200 получателей.
Ограничение размера вложений в MS Outlook
Иногда, настроек, сделанных на стороне сервера, бывает не достаточно, т.к. сам MS Outlook не хочет прикреплять большие вложения и «радует» пользователя сообщением с рис.8:
Рис.8: Ограничение размера вложений в MS Outlook.
В таком случае, для MS Outlook 2010, необходимо поправить настройки реестра на локальном компьютере пользователя, а именно – создать ключ DWORD с именем MaximumAttachmentSize в ветке
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences
И указать для него значение 0 – для отмены ограничений, либо значение отличное от ноля, в килобайтах (КБ), для установки своих собственных ограничений.
Ограничение в Outlook Web App
Outlook Web App тоже ограничивает размер вложений, по умолчанию это ограничение равно 30 000 КБ. Чтобы изменить эту настройку необходимо открыть файл Web.config, обычно расположенный в c:\Program Files\Microsoft\ExchangeServer\ClientAccess\Owa и найти там строку вида
<httpRuntime maxRequestLength=»30000″ />
Далее для параметра maxRequestLength необходимо указать свое значение, в килобайтах (КБ).
Заключение
Помните, что если вы планируете вносить изменения в настройки ограничений размера пересылаемых сообщений, то новая схема должна быть хорошо продумана, т.к. неправильные настройки могут привести к серьезному падению производительности ваших транспортных серверов. Завышенные ограничения могут привести к тому, что письма будут проходить внутрь организации и отбрасываться на самых последних стадиях фильтра.
Также стоит понимать, что если ваши внутренние пользователи могут отправлять большие сообщения, то это совсем не означает, что сервер получателя сможет их принять.
В статье рассмотрены две наиболее часто встречающиеся ситуации маршрутизации сообщений. Кроме этих двух случаев у вас может возникнуть необходимость конфигурирования других транспортных потоков в организации, например обмен сообщений между HUB-серверами в рамках одного леса, либо между лесами Active Directory и другие. О них подробнее вы можете почитать в библиотеке TechNet, в статье Управление ограничениями размера сообщения.