По умолчанию каталог раскладки существует на каждом компьютере Microsoft Exchange Server 2007 с установленной ролью транспортного сервера-концентратора или ролью транспортного пограничного сервера. Правильно отформатированные файлы сообщений электронной почты, скопированные в каталог раскладки, передаются для доставки. Каталог раскладки используется администраторами для тестирования потока почты, а также приложениями, которые должны создавать и отправлять свои собственные сообщения.
С помощью командлета Set-TransportServer можно выполнять все задачи настройки каталога раскладки. Используя этот командлет, можно внести следующие изменения в конфигурацию каталога раскладки:
- Включить или отключить каталог раскладки.
- Указать расположение каталога раскладки.
- Задать максимальный размер заголовка, с которым файл сообщений
будет приниматься в каталог раскладки.
- Задать максимальное число получателей, с которым файл сообщений
будет приниматься в каталог раскладки.
- Задать максимальную скорость обработки файлов сообщений
(количество сообщений в минуту).
Обработка сообщений в каталоге раскладки
Правильно отформатированный EML-файл сообщения, скопированный в каталог раскладки, обрабатывается для передачи следующим образом:
- Каталог раскладки проверяется на появление новых файлов
сообщений каждые 5 секунд. Этот интервал опроса изменить нельзя.
Можно настроить скорость обработки файлов сообщений с помощью
командлета Set-TransportServer с параметром
PickupDirectoryMaxMessagesPerMinute. Значение по умолчанию —
100 сообщений в минуту. Файлы, которые не удается открыть, остаются
в каталоге раскладки и повторно обрабатываются при следующем
опросе.
- Проверяются ограничения, установленные для файлов сообщений в
каталоге раскладки, такие как максимальный размер заголовка и
максимальное количество получателей. По умолчанию максимальный
размер заголовка — 64 КБ, а максимальное количество
получателей равно 100. Эти ограничения можно изменить с
использованием командлета Set-TransportServer.
- Имя файла меняется с <имя_файла>.eml на
<имя_файла>.tmp. Если файл
<имя_файла>.tmp уже существует, новому файлу будет
присвоено имя <имя_файла><дата_и_время>.tmp.
Если не удалось переименовать файл, генерируется ошибка журнала
событий и в процессе раскладки начинается обработка следующего
файла.
- Если TMP-файл успешно преобразован в сообщение электронной
почты, для него генерируется команда «удалить по закрытии». Этот
TMP-файл остается в каталоге раскладки, однако он не может быть
открыт.
- После того, как сообщение помещено в очередь доставки,
генерируется команда «закрыть» и TMP-файл удаляется из каталога
раскладки. Если не удалось выполнить удаление, генерируется ошибка
журнала событий. Если служба транспорта Microsoft Exchange
перезапущена при наличии файлов с расширением TMP в каталоге
раскладки; расширение всех этих файлов меняется на EML, и они
обрабатываются повторно. Это может привести к дублированию передачи
сообщения.
Структура файла сообщения электронной почты
Стандартное сообщение электронной почты SMTP состоит из конверта сообщения и содержимого сообщения. Конверт сообщения содержит сведения, требуемые для передачи и доставки сообщения. Содержимое сообщения включает в себя поля заголовка с общим названием заголовок сообщения и текст сообщения. Конверт сообщения описан в документе RFC 2821, а заголовок сообщения — в документе RFC 2822.
Когда отправитель составляет сообщение электронной почты и отправляет его для доставки, это сообщение содержит базовые сведения, необходимые для обеспечения соответствия стандартам SMTP, такие как сведения об отправителе, получателе, дате и времени составления сообщения, тему сообщения (необязательно) и текст сообщения (необязательно). Данные сведения содержатся в самом сообщении и, по определению, в заголовке сообщения. Сервер обмена сообщениями отправителя создает для сообщения конверт сообщения на основе данных отправителя и получателя, содержащихся в заголовке сообщения, после чего передает сообщение в Интернет для доставки на сервер обмена сообщениями получателя. Получатели не видят конверта сообщения, так как он создается в процессе передачи сообщения и фактически не является частью самого сообщения. Каждый сервер, участвующий в передаче сообщения, может вставлять в заголовок сообщения поля заголовка сообщения с указанием роли этого сервера в доставке сообщения или другие поля заголовка сообщения в зависимости от приложения. Когда получатель открывает сообщение с помощью клиента электронной почты, данной программой отображаются некоторые наиболее важные сведения заголовка сообщения, такие как отправитель, получатели, тема сообщения и его текст.
Лучшая аналогия при описании связи между конвертом сообщения и заголовком сообщения — отправка обычной почты в крупной компании. Составляется формальное деловое письмо с адресом компании и адресом получателя в верхней части письма. Письмо передается секретарям для обработки. Секретари заполняют поля конверта, используя сведения о получателе, указанные в письме, запечатывают письмо в конверт и опускают его в почтовый ящик. Почтовая служба доставляет конверт в компанию получателя по адресу, указанному на конверте. Секретари в компании получателя конверта определяют по конверту получателя, вскрывают конверт и кладут письмо в личную почтовую ячейку получателя. Когда получатель забирает письмо из личной ячейки, из заголовка письма он понимает, что оно написано вами и предназначено для него.
Требования к файлам сообщения в каталоге раскладки
Чтобы доставка файла сообщения, скопированного в каталог раскладки, была успешно выполнена, этот файл должен отвечать следующим требованиям:
- Файл сообщения должен быть текстовым файлом, соответствующим
формату базового SMTP-сообщения. Поддерживаются поля заголовка и
содержимое сообщения в формате MIME.
- Файл должен иметь расширение EML.
- В заголовке сообщения в полях
Sender
илиFrom:
должен быть указан, по меньшей мере, один адрес электронной почты. Если в поляхSender
иFrom:
указан один адрес электронной почты, то в качестве источника сообщения в конверте сообщения будет использоваться полеFrom:
.
- В поле
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:
, в полеTo:
заголовка сообщения добавляется значение «Скрытые получатели».
В каталоге раскладки в процессе отправки в сообщение
добавляется новое поле заголовка Received:
. Поле
заголовка Received:
применяется в следующем
формате:
Копировать код | |
---|---|
Received: from localhost by Pickup with Microsoft SMTP Server id <ExchangeServerVersion><datetime> |
В каталоге раскладки изменяются следующие поля заголовка сообщения, если они отсутствуют или имеют неправильный формат:
Message-Id
. Если полеMessage-Id
отсутствует или не имеет значения, в каталоге раскладки добавляется полеMessage-Id
с использованием формата <GUID-идентификатор>@
<домен_по_умолчанию>.
Date:
. Если полеDate
отсутствует или имеет неправильный формат, в сообщение добавляется дата и время обработки сообщения в каталоге раскладки.
Сбои при обработке сообщений в каталоге раскладки
Постановка в очередь доставки файла сообщения, скопированного в каталог раскладки, может завершиться неудачно. Могут возникнуть следующие категории сбоев при передаче сообщения:
- Сбои доставки. Если каталогу раскладки не удается
доставить правильно отформатированный файл сообщения с допустимым
отправителем, создается отчет о недоставке (NDR). Отчет о
недоставке также создается в том случае, если сообщение имеет
неправильный формат или в случае нарушения ограничений,
установленных в каталоге раскладки. Если отчет о недоставке
создается в процессе обработки сообщения в каталоге раскладки, в
сообщение отчета вкладывается исходный файл сообщения, который
после этого удаляется из каталога раскладки.
Примечание. При доставке правильно отформатированного сообщения, переданного каталогом раскладки, может произойти сбой, в этом случае сообщение возвращается отправителю с отчетом о недоставке. Такой тип сбоя может быть вызван проблемами передачи данных, не имеющими отношения к каталогу раскладки, например сбоем сервера обработки сообщений или сбоями маршрутизации в процессе доставки сообщения. - Недопустимый формат. Сообщение считается имеющим
недопустимый формат, если каталог раскладки не может передать это
сообщение для доставки в связи с ошибками его формата. Такие сбои
также возникают в том случае, если сообщение имеет правильный
формат, однако указаны недопустимые получатели сообщения, а также
недопустимый отправитель, что не позволяет отправить отчет о
недоставке.
Файл сообщения, которое определено как недопустимое, остается в каталоге раскладки, его имя меняется с <имя_файла>.eml на <имя_файла>.bad. Если файл <имя_файла>.bad уже существует, имя нового файла меняется на <имя_файла><дата_и_время>.bad. Если в каталоге раскладки присутствуют недопустимые файлы, генерируется ошибка журнала событий, однако это происходит только один раз в отношении одного файла.
Примечание. |
---|
Всегда формируйте и сохраняйте файлы сообщений в другом расположении перед их копированием в каталог раскладки. Каталог раскладки проверяется на наличие новых сообщений каждые 5 секунд. Таким образом, если сообщение создается и сохраняется непосредственно в каталоге раскладки, файлы сообщения могут быть обработаны до завершения их сборки. |
Вопросы безопасности для каталога раскладки
В Exchange Server 2003 используется единый каталог раскладки для создания и отправки файлов текстовых сообщений. ВExchange 2007 эта функциональность разделена на каталоги раскладки и преобразования. Каталог раскладки предназначен для ручного создания файлов сообщений пользователями или приложениями. Каталог преобразования используется для повторной передачи экспортированных сообщений электронной почты Exchange, а также для получения сообщений с внешних серверов шлюза.
В следующем списке приводятся вопросы в области безопасности, характерные для каталога раскладки и каталога преобразования:
- Любые проверки безопасности, настроенные на получающем
соединителе, такие как защита от нежелательной почты, вирусов,
фильтрация отправителей и фильтрация получателей, не выполняются в
отношении сообщений, предоставленных через каталог раскладки или
каталог преобразования.
- Скомпрометированный каталог раскладки или каталог
преобразования может выступать в качестве открытого ретранслятора.
Это позволяет передавать, или «ретранслировать» сообщения с
использованием другого сервера в целях маскировки настоящего
источника сообщений.
Разделение каталогов раскладки и преобразования означает, что для них можно установить разные уровни безопасности. К каталогу преобразования следует применить более жесткие параметры безопасности, поскольку связанные с этим каталогом угрозы безопасности выше. Пользователям или приложениям, которые должны создавать и передавать сообщения, можно предоставить доступ к каталогу раскладки, однако им не нужен доступ к каталогу преобразования.
Каталог раскладки и каталог преобразования включены по умолчанию на всех транспортных серверах-концентраторах и пограничных транспортных серверах. Если на каком-либо транспортном сервере-концентраторе или пограничном транспортном сервере в организации не требуется использовать каталог раскладки или каталог преобразования, их можно отключить. Дополнительные сведения см. в следующих разделах:
Разрешения для каталога раскладки
Для каталога раскладки требуются следующие разрешения:
- Администратор: полный доступ
- Система: полный доступ
- Сетевая служба: чтение, запись и удаление вложенных папок и
файлов
По умолчанию служба транспорта Microsoft Exchange использует учетные данные безопасности учетной записи сетевой службы для управления расположением и разрешениями каталога раскладки. Учетной записи сетевой службы требуются эти разрешения в отношении каталога раскладки для открытия EML-файлов, переименования их в TMP-файлы и удаления либо переименования в BAD-файлы, если сообщение признано недопустимым.
Расположение каталога раскладки можно переместить с помощью параметра PickupDirectoryPath командлета Set-TransportServer. Успех попытки изменить расположение каталога раскладки зависит от прав, предоставленных учетной записи сетевой службы в новом расположении каталога раскладки, а также от того, существует ли уже новый каталог раскладки. Если новый каталог раскладки не существует и сетевая служба обладает правами, требуемыми для создания папок и применения разрешений в новом расположении, будет создан новый каталог раскладки, к которому будут применены правильные разрешения. Если новый каталог раскладки уже существует, существующие разрешения на работу с папками не проверяются. При перемещении каталога раскладки с помощью параметра PickupDirectoryPath командлета Set-TransportServer рекомендуется проверять наличие нового каталога раскладки с примененными к нему верными разрешениями. Если изменение каталога раскладки выполнить не удалось, можно создать новый каталог раскладки и применить к нему правильные разрешения, а затем воспользоваться параметром PickupDirectoryPath командлета Set-TransportServer.
Дополнительные сведения
Для получения дополнительных сведений см. следующие разделы: