Управление каталогом повтора
Применимо к: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Последнее изменение раздела: 2007-02-22
По умолчанию каталог преобразования существует на каждом компьютере Microsoft Exchange Server 2007 с установленной ролью транспортного сервера-концентратора или пограничного транспортного сервера. Правильно отформатированные файлы сообщений электронной почты, скопированные в каталог преобразования, передаются для доставки. Каталог преобразования получает сообщения с серверов внешних шлюзов и передает сообщения, экспортированные администраторами из очередей серверов Exchange 2007.
Командлет Set-TransportServer используется для всех задач настройки каталога преобразования. Этот командлет можно использовать для внесения следующих изменений в конфигурацию каталога преобразования:
включение и отключение каталога преобразования;
указание местоположения каталога преобразования;
указание максимальной скорости обработки файлов сообщений (сообщений в минуту).
Обработка сообщений в каталоге преобразования
EML-файл сообщения, имеющий правильный формат, копируется в каталог преобразования и обрабатывается перед доставкой. Эта обработка состоит из следующих этапов:
Каталог преобразования проверяется на наличие новых файлов сообщений каждые 5 секунд. Этот интервал опроса изменить нельзя. Скорость обработки файлов сообщений можно изменить с помощью параметра PickupDirectoryMaxMessagesPerMinute командлета Set-TransportServer. Значением по умолчанию является 100 сообщений в минуту. Файлы, которые не удается открыть, оставляются в каталоге преобразования и повторно оцениваются в следующем цикле.
Файл переименовывается из <имя_файла>.eml в <имя_файла>.tmp. Если файл *<имя_файла>.*tmp уже существует, он переименовывается в <имя_файла><дата_время>.tmp. Если не удается переименовать файл, создается запись в журнале ошибок, и процесс преобразования переходит к следующему файлу.
После успешного преобразования TMP-файла в сообщение электронной почты к TMP-файлу применяется команда «стереть при закрытии». Это выглядит так, будто TMP-файл остается в каталоге преобразования, но никто другой не сможет его открыть.
После успешной постановки сообщения в очередь доставки выполняется команда «закрыть» и TMP-файл удаляется из каталога преобразования. Если не удается удалить файл, создается журнал ошибок. Если служба транспорта Microsoft Exchange запускается повторно, а в каталоге преобразования содержатся TMP-файлы, все TMP-файлы переименовываются в EML-файлы и повторно обрабатываются. Это может привести к передаче дублированных сообщений.
Строение файла сообщения электронной почты
Стандартное сообщение электронной почты SMTP состоит из конверта сообщения и содержимого сообщения. Конверт сообщения содержит сведения, которые требуются для передачи и доставки сообщения. Содержимое сообщения разделяется на поля заголовка сообщения, которые в совокупности называются заголовком сообщения, и текста сообщения. Конверт сообщения описан в документе RFC 2821, а заголовок сообщения — в документе RFC 2822.
При написании сообщения электронной почты и его отправке сообщение содержит основные сведения, требуемые для соответствия стандартам SMTP, например: отправитель, получатель, время и дата написания сообщения, необязательная строка темы и необязательный текст сообщения. Данные содержатся в самом сообщении, а также, по определению, в заголовке сообщения. Сервер обмена сообщениями отправителя создает конверт сообщения с использованием сведений об отправителе и получателе, которые содержатся в заголовке сообщения, после чего передает сообщение в Интернет для доставки. Получатели не видят конверт сообщения, так как он создается в процессе передачи сообщения и фактически не является частью самого сообщения. Каждый сервер, участвующий в передаче сообщения, может добавлять в сообщение поля заголовка сообщения, относящиеся к роли сервера в процессе доставки, или другие поля заголовка сообщения, относящиеся к приложениям. Когда получатель открывает сообщение в почтовом клиенте, клиент отображает некоторые необходимые сведения из заголовка сообщения, например сведения об отправителе, получателе и теме сообщения.
Лучшая аналогия при описании связи между конвертом сообщения и заголовком сообщения — отправка обычной почты в крупной компании. Составляется формальное деловое письмо с адресом компании и адресом получателя в верхней части письма. Это письмо передается в почтовую службу для обработки. Секретари заполняют поля конверта, используя сведения о получателе, указанные в письме, запечатывают письмо в конверт и опускают его в почтовый ящик. Почтовая служба доставляет конверт в компанию получателя по адресу, указанному на конверте. Секретари в компании получателя конверта определяют по конверту получателя, вскрывают конверт и кладут письмо в личную почтовую ячейку получателя. Когда получатель забирает письмо из личной ячейки, из заголовка письма он понимает, что оно написано вами и предназначено для него.
Требования к файлам сообщений в каталоге преобразования
Каталог преобразования используется для повторной доставки экспортированных сообщений Exchange, а также для получения сообщений с серверов внешних шлюзов. Эти сообщения уже отформатированы для каталога преобразования. Практически нет необходимости, чтобы администраторское или другое приложение создавало и доставляло файлы новых сообщений с помощью каталога преобразования. Для создания и отправки файлов новых сообщений должен использоваться каталог раскладки.
В сообщениях каталога преобразования очень часто используются поля X-заголовки. X-заголовки представляют собой пользовательские неофициальные поля заголовка, которые включаются в заголовок сообщения. X-заголовки не рассматриваются в RFC 2822, однако использование неопределенного поля заголовка сообщения, которое начинается с символа «X-» стало общепринятым способом добавления в сообщение неофициальных полей заголовка сообщения. X-заголовки в Exchange 2007, которые используются в файлах сообщений в каталоге преобразования, могут содержать сведения о доставки, обычно указываемые в заголовке сообщения. Эта возможность требуется для сохранения исходных сведений сообщения при использовании каталога преобразования для обработки экспортированных сообщений с другого сервера Exchange.
Для успешной доставки файл сообщения, скопированный в каталог преобразования, должен соответствовать следующим требованиям:
Файл сообщения должен быть текстовым файлом, соответствующим стандартному формату SMTP-сообщения. Поддерживаются поля заголовка и содержимое в формате MIME.
Файл сообщения должен иметь расширение EML.
X-заголовки должны стоять перед всеми обычными полями заголовка.
Поля заголовка и текст сообщения должна разделять пустая строка.
X-заголовки, описанные в следующем списке, требуются сообщениями в каталоге преобразования.
X-Sender:
. Данный 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-Receiver:
. Данный 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:
не существует, оно добавляется со значениемUnspecified
. Как правило, это поле имеет значениеMSExchange12
, однако оно также может содержать тип адресного пространства, не являющегося адресным пространством SMTP, заданный для соединителя отправления, напримерNotes
. Это поле заголовка сообщения используется для обработки заголовка на брандмауэре.X-EndOfInjectedXHeaders:
. Размер всех присутствующих X-заголовков в байтах. Данный X-заголовок можно использовать в качестве метки, обозначающей последний X-заголовок перед началом обычных полей заголовка сообщения.X-ExtendedMessageProps:
. Расширенные свойства сообщения.X-HeloDomain:
. Строка домена HELO/EHLO, представленная во время начального обмена данными по протоколу SMTP.X-LegacyExch50:
. Используется для сохранения настраиваемых свойств, созданных в Exchange Server 2003, при наличии серверов Exchange 2003.X-Source:
. Если значение данного X-заголовка не указано, используется значениеReplay
. Данный X-заголовок используется средством просмотра очереди в столбце MessageSourceName. Другими возможными значениями данного X-заголовка являютсяSmtp Receive Connector
иSmtp Send Connector
.X-SourceIPAddress:
. IP-адрес отправляющего сервера. Значение этого поля равно 0.0.0.0, если не указаны IP-адреса.
Ниже приведен пример простого текстового сообщения, в котором используется допустимый формат для каталога преобразования:
X-Receiver: <mary@contoso.com> NOTIFY=NEVER ORcpt=mary@contoso.com
X-Sender: <bob@contoso.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@contoso.com> BODY=7bit ENVID=12345ABCD auth=<someAuth>
To: mary@contoso.com
From: bob@contoso.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. Если недопустимая почта существует в каталоге преобразования, создается журнал ошибок. Однако те же самые недопустимые сообщения не создают повторные ошибки в журнале событий.
Вопросы безопасности каталога преобразования
В сервере Exchange Server 2003 используется единый каталог раскладки для создания и отправки файлов текстовых сообщений. Сервер Exchange 2007 разделяет эти функции между каталогами раскладки и преобразования. Каталог раскладки предназначен для ручного создания новых файлов сообщений пользователями или приложениями. Каталог преобразования предназначен для повторной отправки экспортированных сообщений электронной почты Exchange и для получения сообщения от соединителей, не работающих по протоколу SMTP. Это разделение обязанностей позволяет применить соответствующий уровень безопасности к одному каталогу, не затрагивая возможности другого каталога.
В следующем списке описаны вопросы, связанные с безопасностью, которые являются общими как для каталога раскладки, так и для каталога преобразования:
Любые сообщения, отправляемые через каталог раскладки и каталог преобразования, во время отправки сообщения не проходят проверку безопасности на соединителе приема (например, проверку на нежелательную почту и вирусы) и над ними не производятся действия по фильтрации получателей.
Взломанные каталоги раскладки и каталоги преобразования могут служить открытыми ретрансляторами. Это позволяет передавать, или «ретранслировать» сообщения с использованием другого сервера в целях маскировки настоящего источника сообщений.
В следующем списке описаны дополнительные вопросы безопасности, относящиеся к каталогу преобразования:
X-заголовки, используемые каталогом преобразования, позволяют создать конверт сообщения вручную. Сведения в полях
X-Sender:
иX-Receiver:
могут полностью отличаться от полей заголовка сообщенияTo:
илиFrom:
, отображаемых в клиентах электронной почты. Подобная фальсификация отправителя или домена часто называется подделкой. Поддельная почта — это почтовое сообщение, адрес отправителя которого был изменен таким образом, чтобы он выглядел как если бы сообщение исходило от отправителя, отличного от фактического отправителя.Если поле
X-CreatedBy:
имеет значениеMSExchange12
, получатель считается заслуживающим доверия и обработка заголовка на брандмауэре не производится. Брандмауэр заголовков позволяет серверу Exchange сохранять X-заголовки в сообщениях, передаваемых между доверенными серверами Exchange 2007, либо удалять потенциально опасные для конфиденциальности X-заголовки из сообщений, передаваемых ненадежным получателям за пределами организации Exchange. Эти X-заголовки могут быть использованы для предоставления доступа к данным Exchange 2007, таким как вероятность нежелательной почты, подписи сообщений или шифрование между авторизованными серверами Exchange 2007. Раскрытие этих сведений неавторизованным источникам может представлять угрозу безопасности.
Разделение каталога раскладки и каталога преобразования означает, что к каждому каталогу можно применять различные уровни безопасности. К каталогу преобразования следует применять более жесткие параметры безопасности, поскольку связанные с этим каталогом угрозы безопасности выше. Пользователям и приложениям, которым необходимо создавать и отправлять новые сообщения, можно предоставить доступ к каталогу раскладки, но не следует предоставлять доступ к каталогу преобразования.
Разрешения каталога преобразования
Для каталога преобразования требуются следующие разрешения:
Администратор: полный доступ
Система: полный доступ
Сетевая служба: чтение, запись, удаление вложенных папок и файлов
По умолчанию служба транспорта Microsoft Exchange использует учетные данные безопасности учетной записи пользователя сетевой службы для управления местоположением и разрешениями каталога преобразования. Учетной записи сетевой службы эти разрешения для каталога преобразования необходимы для открытия EML-файлов, изменения их расширения на TMP и удаления или смены расширения на BAD, если файлы классифицируются как недопустимая почта.
Местоположение каталога преобразования можно изменить с помощью параметра ReplayDirectoryPath командлета Set-TransportServer. Успешное изменение местоположения каталога преобразования зависит от прав, предоставленных учетной записи сетевой службы для нового каталога преобразования, и от наличия нового каталога преобразования. Если новый каталог преобразования еще не существует, а учетная запись сетевой службы обладает всеми правами для создания папок и применения разрешений к новому местоположению, то создается новый каталог преобразования со всеми необходимыми разрешениями. Если новый каталог преобразования уже существует, существующие разрешения папки не проверяются. При перемещении каталога преобразования с помощью командлета Set-TransportServer с параметром ReplayDirectoryPath стоит убедиться в том, что новый каталог преобразования существует и обладает допустимыми разрешениями. Если каталог преобразования изменить не удается, можно создать новый каталог преобразования и применить к нему необходимые разрешения, перед тем как использовать командлет Set-TransportServer с параметром ReplayDirectoryPath.
Дополнительные сведения
Дополнительные сведения см. в следующих разделах: