Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...

Папка Pickup в Exchange

Текущий рейтинг: 3.44 (проголосовало 9)
 Посетителей: 2395 | Просмотров: 3278 (сегодня 0)  Шрифт: - +

Если вы смотрели структуру каталогов, которая создается после установки Exchange 2007, вы, возможно, заметили папку с названием Pickup, которая находится внутри нескольких подпапок корневого каталога Exchange. Эта папка также присутствовала в предыдущих версиях Exchange, и поэтому ее можно использовать в определенных целях. Одним из способов использования этой папки является ее предназначение для тестирования почтового потока без необходимости использования почтового клиента. Это осуществляется путем копирования специально созданных текстовых файлов в эту папку; после чего Exchange обработает и доставит их должным образом. В этой статье мы рассмотрим папку pickup и то, как ее использовать для тестирования почтового потока в рамках вашей инфраструктуры Exchange.

Настройка папки Pickup

Папка Pickup необязательно есть на каждом установленном сервере Exchange 2007. На самом деле она присутствует только на серверах Exchange 2007 с ролью Hub Transport или Edge Transport. По умолчанию папка pickup располагается в каталоге \Program Files\Microsoft\Exchange Server\TransportRoles на том разделе, на который вы установили Exchange, как показано на рисунке 1.

Рисунок 1: Стандартное расположение папки Pickup

Рисунок 1: Стандартное расположение папки Pickup

Поскольку настройка папки pickup – это не то, что выполняете ежедневно, вы, вероятно, догадались, что настраивается она только с помощью оболочки Exchange Management Shell. Команда, которую можно использовать для осмотра параметров этой папки, выглядит следующим образом: Get-TransportServer. Однако если вы передадите результаты команды Get-TransportServer cmdlet в команду format-list, вы увидите, что с ней вернулось множество атрибутов сервера transport, в результате чего будет совсем не просто найти атрибуты, специфичные для данной папки. Поэтому нужно отфильтровать результаты, чтобы найти атрибуты, начинающиеся с pickup, в результате чего мы имеем следующую команду:

Get-TransportServer | fl pickup*

Результаты использования этой команды показаны на рисунке 2.

Рисунок 2: Атрибуты папки Pickup

Рисунок 2: Атрибуты папки Pickup

При использовании этой команды следует обратить внимание на тот факт, что сервер, на котором я запустил эту команду, имеет установленную роль Hub Transport, поэтому мне не нужно ссылаться на имя сервера в этом примере. Важно помнить, что если вы хотите запустить эту команду на удаленном сервере, вам необходимо указать имя сервера, используя параметр ‘Identity. Вам также потребуется использовать данный параметр при выполнении Set-TransportServer команды для модификации конфигурации папки pickup, как мы увидим далее.

Давайте по очереди рассмотрим каждый атрибут с рисунка 2 и выясним, для чего каждый из них предназначен, хотя в большинстве случаев их название говорит само за себя. Во-первых, атрибут PickupDirectoryMaxHeaderSize используется для настройки максимального размера заголовка сообщения, которое Exchange 2007 Hub Transport или Edge Transport сервер будет получать. По умолчанию этот параметр имеет значение в 64KB и поэтому должен соответствовать для большинства случаев. Однако если вам все же нужно изменить это значение, вы можете использовать следующую команду:

Set-TransportServer ‘Identity {server name} ‘PickupDirectoryMaxHeaderSize {value}

Параметр {value} может быть выражен в любых единицах, начиная от байтов и заканчивая гигабайтами, используя следующий формат обозначения 128KB или 1MB.

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

Вы также можете ограничивать количество реципиентов на сообщение применительно к папке pickup посредством атрибута PickupDirectoryMaxRecipientsPerMessage. Стандартное значение составляет 100. Если вы настроили свою организацию Exchange 2007 так, что пользователи могут отправлять сообщения определенному максимальному количеству получателей, чтобы обеспечить должную производительность системы, следует настроить папку pickup для соответствия этому значению. Например, если вы хотите установить максимальное количество реципиентов сообщения, принадлежащего папке pickup, со значением в 500, то вам нужно использовать следующую команду:

Set-TransportServer ‘Identity {server name} ‘PickupDirectoryMaxRecipientsPerMessage 500

Наконец, вы можете изменять расположение папки pickup, модифицируя атрибут PickupDirectoryPath. Например, вы применили выделенный массив диска на своем сервере Hub Transport для управления очередями баз данных и хотите, чтобы этот выделенный массив также управлял вашей папкой pickup помимо прочих компонентов. Лично я предпочитаю указывать полный путь при перемещении папок в другие дисковые массивы. К примеру, если бы я перемещал папку pickup в раздел E:, я бы убедился в том, что расположение папки pickup было задано в E:\Program Files\Microsoft\Exchange Server\TransportRoles каталог посредством команды:

Set-TransportServer ‘Identity {server name} ‘PickupDirectoryPath 
‘E:\Program Files\Microsoft\Exchange Server\TransportRoles\Pickup’

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

Set-TransportServer ‘Identity {server name} ‘PickupDirectoryPath $null

Помните, что папка pickup активна по умолчанию для всех серверов Exchange 2007 с ролями Hub Transport или Edge Transport.

Отправка сообщений

Теперь, когда мы настроили папку pickup со всеми необходимыми нам параметрами, давайте посмотрим, как можно ее использовать. Как я уже говорил ранее в этой статье, папка pickup используется для отправки сообщений через систему Exchange 2007 путем простого размещения сообщений электронной почты в эту папку. Сообщения могут создаваться в простом текстовом редакторе, например блокноте, и сохраняться как файлы с .eml расширением, после чего размещаться в папку pickup для обработки. Содержимое сообщения должно иметь правильный формат для успешной обработки. Пример простого текстового сообщения показан на рисунке 3. Обратите внимание на тот факт, что имя файла - message.eml. Чтобы Exchange 2007 корректно обрабатывал сообщение, файл должен иметь расширение .eml.

Рисунок 3: Пример сообщения

Рисунок 3: Пример сообщения

Давайте посмотрим, что происходит, когда файл message.eml копируется в папку pickup. Во-первых, вы увидите краткое описание файла message.eml, перед тем как он будет переименован в message.tmp, как показано на рисунке 4. Этот процесс занял примерно пять секунд перемещения файла в папку. Допустим, все настроено правильно касаемо формата сообщения, тогда Exchange обработает его соответственно. В результате сообщение будет доставлено на желаемый адрес, как показано на рисунке 5. Довольно интересен тот факт, что .tmp файл заперт и не может быть открыт в блокноте; при попытке сделать это появляется сообщение об ошибке В доступе отказано.

Рисунок 4: Преобразование в .TMP файл

Рисунок 4: Преобразование в .TMP файл

Рисунок 5: Доставленное сообщение

Рисунок 5: Доставленное сообщение

Эти .tmp файлы автоматически периодически удаляются системой. Мне показалось логичным, что служба Microsoft Exchange Transport должна отвечать за обработку сообщений из папки pickup, поэтому мне было интересно узнать, что произойдет, если данная служба будет остановлена и перезапущена, прежде чем файлы .tmp будут удалены. Когда предыдущий .tmp файл все еще существовал в папке pickup, я остановил и перезапустил службу Microsoft Exchange Transport и заметил, что все существующие .tmp файлы были удалены.

Неправильное форматирование

Что произойдет, если .eml файл имеет некорректный формат? При тестировании я взял оригинальный message.eml файл и удалил первую строку, определяющую отправителя сообщения. В результате вместо переименования файла в файл с .tmp расширением и последующей отправкой сообщения, Exchange переименовал его в файл с расширением .bad и оставил этот файл в папке pickup, как показано на рисунке 6.

Рисунок 6: Некорректное сообщение

Рисунок 6: Некорректное сообщение

Вдобавок, в журнал регистрации событий приложений была внесена запись, как показано на рисунке 7. Запись имеет источник MSExchangeTransport и ID события 9010. Это описание довольно специфично для природы проблемы, но оно не указывает имени файла, ставшего причиной этой проблемы. Учитывая это, вам лишь нужно искать .bad файлы в папке pickup и осматривать их на предмет ошибок формата.

Рисунок 7: Запись журнала событий о некорректном сообщении

Рисунок 7: Запись журнала событий о некорректном сообщении

Еще один интересный момент, который я заметил, заключается в том, что в отличие от .eml файлов, как только в папке появлялся .bad файл, он не удалялся после остановки и перезапуска службы Microsoft Exchange Transport. Очевидно, эти файлы нужно удалять вручную, поэтому когда вы видите ID события, как показано на рисунке 7, знайте, что вам нужно вмешаться, чтобы не допустить нагромождения нежелательных файлов в этой папке. Я также заметил, что после того, как служба Microsoft Exchange Transport была перезапущена, новая копия 9010 ID события не записывалась в журнал регистрации событий, пока не появлялась новая ошибка некорректного сообщения. Это позволяет избежать ложных предупреждений всякий раз, когда служба Microsoft Exchange Transport перезапускается.

Заключение

Папка SMTP Pickup в серверах Exchange 2007 Hub Transport или Edge Transport может легко ускользнуть от внимания администраторов, которые хотят протестировать поток сообщений или, возможно, ищут простых способов отправки сообщений без использования почтового клиента. Однако стоит напомнить себе о существовании этой папки и более того, если вы заинтересованы в безопасности и не хотите ее использовать, вы всегда сможете отключить ее функциональные возможности.

Иcточник: MSexchange.ru  •  Опубликована: 29.05.2008
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.