Каталог раскладки и каталог преобразования

 

Применимо к:Exchange Server 2013

Последнее изменение раздела:2016-12-09

По умолчанию каталоги раскладки и преобразования существуют на каждом сервере почтовых ящиков Microsoft Exchange Server 2013 или пограничном транспортном сервере. Правильно отформатированные файлы сообщений электронной почты, скопированные в каталоги раскладки или преобразования, отправляются на доставку. Каталог раскладки используется администраторами для проверки потока сообщений или приложениями, которые создают и отправляют собственные сообщения. Каталог преобразования получает сообщения с серверов внешних шлюзов и может использоваться для передачи сообщений, экспортированных администраторами из очередей серверов Exchange.

Содержание

Строение файла сообщения электронной почты

Обработка сообщений в каталогах раскладки и преобразования

Требования к файлам сообщений в каталоге раскладки

Изменения заголовка сообщения в каталоге раскладки

Требования к файлам сообщений в каталоге преобразования

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

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

Вопросы безопасности, связанные с каталогами раскладки и преобразования

Разрешения для каталогов раскладки и преобразования

Стандартное SMTP-сообщение электронной почты состоит из конверта сообщения и его содержимого. Конверт сообщения содержит сведения, которые требуются для передачи и доставки сообщения. Содержимое сообщения разделяется на поля заголовка сообщения, которые в совокупности называются заголовком сообщения, и текста сообщения. Конверт сообщения описан в документе RFC 2821, а заголовок сообщения — в документе RFC 2822.

При написании сообщения электронной почты и его отправке сообщение содержит основные сведения, требуемые для соответствия стандартам SMTP, например: отправитель, получатель, время и дата написания сообщения, необязательная строка темы и необязательный текст сообщения. Данные содержатся в самом сообщении, а также, по определению, в заголовке сообщения.

Сервер обмена сообщениями отправителя создает для сообщения конверт сообщения на основе данных отправителя и получателя, содержащихся в заголовке сообщения, после чего передает сообщение в Интернет для доставки на сервер обмена сообщениями получателя. Получатели не видят конверт сообщения, так как он создается в процессе передачи сообщения и фактически не является частью самого сообщения.

Каждый сервер, участвующий в передаче сообщения, может вставлять в заголовок сообщения поля заголовка сообщения с указанием роли этого сервера в доставке сообщения или другие поля заголовка сообщения в зависимости от приложения. Когда получатель открывает сообщение с помощью клиента электронной почты, в этом приложении отображаются некоторые наиболее важные сведения заголовка сообщения, в том числе отправитель, получатели, тема сообщения и его текст.

В начало

В Exchange 2013 для каталога раскладки по умолчанию используется путь %ExchangeInstallPath%TransportRoles\Pickup. Расположение каталога преобразования по умолчанию — %ExchangeInstallPath%TransportRoles\Replay. Правильно отформатированный EML-файл сообщения, скопированный в каталог раскладки или преобразования, обрабатывается для передачи следующим образом:

  1. Каталоги раскладки и преобразования проверяются на появление новых файлов сообщений каждые пять секунд. Этот интервал опроса изменить нельзя. Скорость обработки файлов сообщений можно изменить с помощью параметра PickupDirectoryMaxMessagesPerMinute командлета Set-TransportService. Этот параметр влияет на каталог раскладки и каталог преобразования. Значением по умолчанию является 100 сообщений в минуту. Файлы, которые не удается открыть, остаются в каталоге раскладки и повторно обрабатываются при следующем опросе.

  2. Проверяются ограничения, установленные для файлов сообщений в каталоге раскладки, такие как максимальный размер заголовка и максимальное количество получателей. По умолчанию максимальный размер заголовка равен 64 килобайтам (КБ), а максимальное количество получателей — 100. Эти ограничения можно изменить с помощью командлета Set-TransportService. Эти параметры влияют только на каталог раскладки.

  3. Файл переименовывается из <имя_файла>.eml в <имя_файла>.tmp. Если файл <имя_файла>.tmp уже существует, новому файлу будет присвоено имя <имя_файла><дата_и_время>.tmp. Если не удалось переименовать файл, создается ошибка журнала событий и в процессе раскладки начинается обработка следующего файла.

  4. После успешного преобразования файла с расширением TMP в сообщение электронной почты к файлу с расширением TMP применяется команда удалить при закрытии. Этот TMP-файл остается в каталоге раскладки, однако не может быть открыт.

  5. После того, как сообщение помещено в очередь доставки, выполняется команда close и TMP-файл удаляется из каталога раскладки. Если не удается удалить файл, создается журнал ошибок. Если служба транспорта Microsoft Exchange перезапущена при наличии файлов с расширением TMP в каталоге раскладки, расширение всех этих файлов меняется на EML, и они обрабатываются повторно. Это может привести к передаче дублированных сообщений.

В начало

Чтобы доставка файла сообщения, скопированного в каталог раскладки, была успешно выполнена, этот файл должен отвечать следующим требованиям:

  • Файл сообщения должен быть текстовым файлом, соответствующим стандартному формату SMTP-сообщения. Поддерживаются поля и содержимое заголовка сообщения MIME.

  • Файл сообщения должен иметь расширение EML.

  • В заголовке сообщения в полях Sender или From должен быть указан хотя бы один адрес электронной почты. Если в полях Sender и From указан один адрес электронной почты, то в качестве источника сообщения в конверте сообщения будет использоваться поле From.

  • В поле Sender может существовать только один адрес электронной почты. Наличие нескольких адресов не допускается. Поле Sender является необязательным, если в поле From указан только один адрес электронной почты.

  • В поле From может быть несколько адресов, однако в поле Sender при этом должен быть указан один адрес электронной почты. Адрес в поле Sender затем используется в качестве источника сообщения в конверте сообщения.

  • В полях To, Cc или Bcc должен быть указан хотя бы один адрес электронной почты.

  • Между заголовком и текстом сообщения должна стоять пустая строка.

В следующем примере показано простое текстовое сообщение, в котором используется допустимый формат для каталога раскладки.

To: mary@contoso.com
From: bob@fabrikam.com
Subject: Message subject

This is the body of the message.

В файлах сообщений каталога раскладки также поддерживается содержимое MIME. В расширениях MIME определен широкий спектр содержимого сообщений, включающий языки, которые могут быть представлены как 7-битовый текст ASCII, HTML или другое мультимедийное содержимое. Полное описание расширений MIME и требований к ним выходит за рамки этого раздела. В следующем примере показано простое сообщение MIME, в котором используется допустимый формат для каталога раскладки.

To: mary@contoso.com
From: bob@fabrikam.com
Subject: Message subject
MIME-Version: 1.0
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<HTML><BODY>
<TABLE>
<TR><TD>cell 1</TD><TD>cell 2</TD></TR>
<TR><TD>cell 3</TD><TD>cell 4</TD></TR>
</TABLE>
</BODY></HTML>

В начало

В каталоге раскладки из заголовка сообщения удаляются все следующие поля заголовка сообщения:

  • Received

  • Resent-*

  • Bcc

    ПримечаниеПримечание.
    Все адреса электронной почты, указанные в дополнительных полях заголовка сообщения Bcc, обрабатываются должным образом. После того, как получатели, указанные в поле Bcc, преобразуются в невидимых получателей конверта сообщения, они удаляются из заголовка сообщения в целях сохранения их конфиденциальности. Если сообщение содержит только получателей Bcc, в поле заголовка сообщения Bcc добавляется значение скрытые получатели.

В каталоге раскладки в процессе отправки в сообщение добавляется новое поле заголовка Received. Поле заголовка Received имеет следующий формат.

Received: from localhost by Pickup with Microsoft SMTP Server id <ExchangeServerVersion><datetime>

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

  • Message-Id   Если поле Message-Id отсутствует или не содержит значения, каталог раскладки добавляет поле Message-Id в формате <GUID>@<домен_по_умолчанию>.

  • Дата   Если поле Date отсутствует или имеет неправильный формат, каталог раскладки добавляет дату и время обработки сообщения в каталоге раскладки.

В начало

Каталог преобразования используется для передачи экспортированных сообщений Exchange и получения сообщений с внешних серверов шлюзов. Эти сообщения уже отформатированы для каталога преобразования. Практически нет необходимости в том, чтобы администраторы или приложения создавали и доставляли новые файлы сообщений с помощью каталога преобразования. Для создания и отправки файлов новых сообщений должен использоваться каталог раскладки.

В сообщениях каталога преобразования очень часто используются поля X-заголовков. X-заголовки представляют собой пользовательские неофициальные поля заголовка, которые включаются в заголовок сообщения. X-заголовки не рассматриваются в RFC 2822, однако использование неопределенного поля заголовка сообщения, которое начинается с символа «X-» стало общепринятым способом добавления в сообщение неофициальных полей заголовка сообщения. X-заголовки в Exchange, которые используются в файлах сообщений в каталоге преобразования, могут содержать сведения о доставке, обычно указываемые в конверте сообщения. Эта функция необходима для сохранения исходных сведений сообщения при использовании каталога преобразования для обработки экспортированных сообщений с другого сервера Exchange.

Чтобы доставка файла сообщения, скопированного в каталог преобразования, была успешно выполнена, этот файл должен отвечать следующим требованиям:

  • Файл сообщения должен быть текстовым файлом, соответствующим стандартному формату SMTP-сообщения. Поддерживаются поля и содержимое заголовка сообщения MIME.

  • Файл сообщения должен иметь расширение EML.

  • X-заголовки должны стоять перед всеми обычными полями заголовка.

  • Поля заголовка и текст сообщения должна разделять пустая строка.

X-заголовки, описанные в следующем списке, требуются сообщениями в каталоге преобразования.

  • Отправитель Х   Этот X-заголовок заменяет обязательное поле заголовка сообщения From в типичном SMTP-сообщении. Необходимо, чтобы существовало одно поле X-Sender, содержащее один адрес электронной почты. Каталог преобразования игнорирует поле заголовка сообщения From, если оно существует, несмотря на то, что почтовый клиент получателя отображает значение поля заголовка сообщения From в качестве отправителя сообщения. В поле X-Sender обычно присутствуют и другие параметры, как показано в следующем примере.

    X-Sender: <bob@fabrikam.com> BODY=7bit RET=HDRS ENVID=12345ABCD auth=<someAuth>
    
    ПримечаниеПримечание.
    Эти параметры являются значениями конверта сообщения, которые обычно создаются отправляющим сервером. Похожие параметры можно увидеть в экспортированных файлах сообщений.
    Параметр RET служит для указания, следует ли возвращать отправителю целое сообщение или только заголовки, если сообщение не может быть доставлено. Параметр RET может иметь значение HDRS или FULL. ENVID — это идентификатор конверта сообщения. BODY служит для указания кодировки текста сообщения. auth служит для указания серверу обмена сообщениями механизма проверки подлинности, как описано в документе RFC 2554.
  • Получатель X   Этот X-заголовок заменяет обязательное поле заголовка сообщения To в типичном SMTP-сообщении. Должно существовать хотя бы одно поле X-Receiver, содержащее один адрес электронной почты. Допускается использование нескольких заголовков X-Receiver для нескольких получателей. Каталог преобразования игнорирует поля заголовка сообщение To, если они есть, несмотря на то, что почтовый клиент получателя отображает значения полей заголовка сообщения To в качестве получателей сообщения. В поле X-Receiver обычно присутствуют и другие параметры, как показано в следующем примере.

    X-Receiver: <mary@contoso.com> NOTIFY=NEVER ORcpt=mary@contoso.com
    
    ПримечаниеПримечание.
    Эти параметры являются значениями конверта сообщения, которые обычно создаются отправляющим сервером. Похожие параметры можно увидеть в экспортированных файлах сообщений. Эти параметры относятся к сообщениям уведомления о состоянии доставки, как описывается в RFC 1891.
    Параметр NOTIFY может принимать значение NEVER, DELAY или FAILURE. ORcpt сохраняет исходного получателя сообщения.

X-заголовки, описанные в следующем списке, не являются обязательными в файлах сообщений каталога преобразования.

  • X-CreatedBy.   Используется для обработки заголовка в брандмауэре. Если этот X-заголовок существует, он не может быть пустым. Если поле X-CreatedBy не существует, оно добавляется со значением не указано. Как правило, это поле имеет значение MSExchange15, однако оно также может содержать тип адресного пространства, не являющегося адресным пространством SMTP, который задан для соединителя отправки, например Примечания.

  • X-EndOfInjectedXHeaders.   Размер (в байтах) всех имеющихся X-заголовков. Данный X-заголовок можно использовать в качестве метки, обозначающей последний X-заголовок перед началом обычных полей заголовка сообщения.

  • X-ExtendedMessageProps.   Расширенные свойства сообщения.

  • X-HeloDomain. Строка домена HELO/EHLO, представленная во время начального обмена данными по протоколу SMTP.

  • X-Source.   Используется средством просмотра очереди в столбце MessageSourceName. Если значение этого X-заголовка не указано, используется значение Воспроизведение. Другие возможные значения для этого X-заголовка — это Соединитель получения Smtp и Соединитель отправки Smtp.

  • X-SourceIPAddress.   IP-адрес отправляющего сервера. Значение этого поля равно 0.0.0.0, если IP-адреса не указаны.

В следующем примере показано простое текстовое сообщение, в котором используется допустимый формат для каталога преобразования.

X-Receiver: <mary@contoso.com> NOTIFY=NEVER ORcpt=mary@contoso.com
X-Sender: <bob@fabrikam.com> BODY=7bit ENVID=12345AB auth=<someAuth>
Subject: Optional message subject

This is the body of the message.

Содержимое MIME также поддерживается для файлов сообщений каталога преобразования. В расширениях MIME определен широкий спектр содержимого сообщений, включающий языки, которые могут быть представлены как 7-битовый текст ASCII, HTML или другое мультимедийное содержимое. Полное описание расширений MIME и требований к ним выходит за рамки этого раздела. В следующем примере показано простое сообщение MIME, в котором используется допустимый формат для каталога преобразования.

X-Receiver: <mary@contoso.com> NOTIFY=NEVER ORcpt=mary@contoso.com
X-Sender: <bob@fabrikam.com> BODY=7bit ENVID=12345ABCD auth=<someAuth>
To: mary@contoso.com
From: bob@fabrikam.com
Subject: Optional message subject
MIME-Version: 1.0
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<HTML><BODY>
<TABLE>
<TR><TD>cell 1</TD><TD>cell 2</TD></TR>
<TR><TD>cell 3</TD><TD>cell 4</TD></TR>
</TABLE>
</BODY></HTML>

В начало

В каталоге преобразования из файла сообщения удаляется поле заголовка сообщения Bcc.

В процессе доставки сообщения каталог преобразования добавляет в сообщение собственное поле заголовка Received. Поле заголовка сообщения Received имеет следующий формат.

Received: from <ReceivingServerName> by Replay with <ExchangeServerVersion><DateTime>

Каталог преобразования изменяет следующие поля заголовка сообщения:

  • Message-ID. Если данное поле заголовка сообщения отсутствует или не содержит значения, каталог преобразования добавляет в сообщение поле Message-ID в формате <GUID>@<домен_по_умолчанию>.

  • Date. Если данное поле заголовка сообщения отсутствует или является недопустимыми, каталог преобразования добавляет поле заголовка сообщения Date с использованием даты и времени обработки сообщения в каталоге преобразования.

В начало

Постановка в очередь доставки файла сообщения, скопированного в каталог раскладки или преобразования, может завершиться неудачно. Могут возникнуть следующие категории сбоев при передаче сообщения:

  • Сбои доставки   Если правильно отформатированный файл сообщения с допустимым отправителем не удается доставить, создается отчет о недоставке. Неправильный формат содержания или нарушения ограничений сообщений каталога раскладки могут также стать причиной создания отчета о недоставке. Если отчет о недоставке создается в процессе обработки сообщения, в сообщение отчета вкладывается исходный файл сообщения, который после этого удаляется из каталога раскладки или каталога преобразования.

    ПримечаниеПримечание.
    При доставке правильно отформатированного сообщения в транспортный конвейер может произойти сбой, в этом случае сообщение возвращается отправителю с отчетом о недоставке. Такой тип сбоя может быть вызван проблемами передачи, не имеющими отношения к каталогам раскладки или преобразования, например сбоем сервера обмена сообщениями или сбоями маршрутизации в процессе доставки сообщения.
  • Сообщение с ошибкой   В сообщениях с ошибкой содержатся серьезные проблемы, которые не позволяют каталогам раскладки или преобразования передать сообщение для доставки. Такие сбои также возникают в том случае, если сообщение имеет правильный формат, однако указаны недопустимые получатели сообщения, а также недопустимый отправитель, что не позволяет отправить отчет о недоставке.

    Файл сообщения, которое определено как недопустимое, остается в каталоге раскладки или преобразования, а его имя меняется с <имя_файла>.eml на <имя_файла>.bad. Если файл <имя_файла> в формате BAD уже существует, он переименовывается в <имя_файла><дата_и_время> в формате BAD. Если в каталоге раскладки присутствуют недопустимые сообщения, создается ошибка журнала событий, однако это происходит только один раз по отношению к одному сообщению.

    ПримечаниеПримечание.
    Всегда формируйте и сохраняйте файлы сообщений в другом расположении перед их копированием в каталог раскладки. Каталог раскладки проверяется на наличие новых сообщений каждые пять секунд. Таким образом, если сообщение создается и сохраняется непосредственно в каталоге раскладки, файлы сообщения могут быть обработаны до завершения их сборки.

В начало

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

  • Любые проверки безопасности, настроенные на соединителе получения, такие как защита от нежелательной почты, вредоносных программ, фильтрация отправителей или фильтрация получателей, не выполняются в отношении сообщений, предоставленных через каталог раскладки или каталог преобразования.

  • Взломанные каталоги раскладки и преобразования могут служить открытыми ретрансляторами. Это позволяет передавать, или ретранслировать сообщения с использованием другого сервера в целях маскировки настоящего источника сообщений.

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

  • X-заголовки, используемые каталогом преобразования, позволяют создать конверт сообщения вручную. Сведения в полях X-Sender и X-Receiver могут полностью отличаться от полей заголовка сообщения To или From, отображаемых в клиентах электронной почты. Подобная фальсификация отправителя или домена часто называется подделкой. Поддельное сообщение — это почтовое сообщение, адрес отправителя которого был изменен таким образом, чтобы он выглядел, как если бы сообщение исходило от отправителя, отличного от фактического отправителя.

  • Если поле X-CreatedBy имеет значение MSExchange15, получатель считается заслуживающим доверия и обработка заголовка на брандмауэре не производится. Брандмауэр заголовков позволяет серверу Exchange сохранять X-заголовки в сообщениях, передаваемых между доверенными серверами Exchange, либо удалять потенциально опасные для конфиденциальности X-заголовки из сообщений, передаваемых ненадежным получателям за пределами организации Exchange. Эти X-заголовки могут быть использованы для предоставления доступа к данным Exchange, таким как вероятность нежелательной почты, подписи сообщений или шифрование между авторизованными серверами Exchange. Раскрытие этих сведений неавторизованным источникам может представлять угрозу безопасности. Дополнительные сведения о брандмауэре заголовков см. в разделе Общие сведения о брандмауэре заголовков.

К каталогу преобразования следует применять более жесткие параметры безопасности, поскольку с этим каталогом связаны дополнительные угрозы безопасности. Пользователям или приложениям, которые должны создавать и передавать сообщения, можно предоставить доступ к каталогу раскладки, однако им не нужен доступ к каталогу преобразования.

Каталог раскладки и каталог преобразования включены по умолчанию на всех серверах почтовых ящиков и пограничных транспортных серверах. Если на каком-либо сервере почтовых ящиков или пограничном транспортном сервере в организации не требуется использовать каталог раскладки или каталог преобразования, их можно отключить, установив для пути к каталогу раскладки или пути к каталогу преобразования значение $null. Подробнее см. в разделе Настройка каталогов раскладки и преобразования.

В начало

Для каталогов раскладки и преобразования необходимы следующие разрешения.

  • Администратор: полный доступ

  • Система: полный доступ

  • Сетевая служба: чтение, запись и удаление вложенных папок и файлов

По умолчанию служба транспорта Microsoft Exchange использует учетные данные для безопасного доступа к учетной записи пользователя сетевой службы для управления расположением и разрешениями каталогов раскладки и преобразования. Учетной записи сетевой службы требуются эти разрешения в отношении каталога раскладки для открытия EML-файлов, переименования их в TMP-файлы и удаления либо переименования в BAD-файлы, если сообщение признано недопустимым.

Расположение этих каталогов можно переместить с помощью параметра PickupDirectoryPath и ReplayDirectoryPath командлета Set-TransportService. Успех попытки изменить расположение каталога раскладки зависит от прав, предоставленных учетной записи сетевой службы, в новом расположении каталога раскладки, а также от того, существуют ли уже новые каталоги. Если новый каталог не существует, а учетная запись сетевой службы обладает всеми правами для создания папок и применения разрешений к новому местоположению, то создается новый каталог со всеми необходимыми разрешениями. Если новый каталог уже существует, разрешения существующего каталога не проверяются. При перемещении каталогов с помощью параметра PickupDirectoryPath или ReplayDirectoryPath командлета Set-TransportService всегда следует проверять наличие нового каталога с допустимыми разрешениями.

В начало

 
Показ: