В этом разделе описано, как изменить реестр, чтобы настроить способ обнаружения повторяющихся сообщений электронной почты в Microsoft Exchange Server 2007. Повторяющиеся сообщения могут возникать в Exchange 2007, когда сообщение отправляется пользователю и в список рассылки, содержащий этого пользователя. Обычно повторяющиеся сообщения возникают, когда список рассылки разворачивается на сервере, отличном от сервера Exchange, с которого сообщение было отправлено, или если это скрытый список рассылки.
Хранилище Exchange определяет повторяющиеся сообщения по следующим их свойствам:
- идентификатор сообщения Интернета;
- время отправки клиентом.
Для отслеживания повторяющихся сообщений хранилище использует таблицу DeliveredTo в базе данных JET. Когда сообщение доставляется пользователю, хранилище проверяет, имеется ли уже в этой таблице запись о сообщении. Если запись отсутствует в таблице, сообщение доставляется пользователю, а в таблицу добавляется строка, указывающая, что пользователь получил сообщение. Если запись существует, сообщение отбрасывается.
По умолчанию хранилище отслеживает повторяющиеся сообщения в течение 7 дней (168 часов). Этот интервал можно изменить, изменив в реестре значение параметра DeliveredTo Expiration in Hours. Это значение представляет собой время в часах, в течение которого сведения о полученном сообщении сохраняются до удаления. Максимальное значение этого параметра реестра, принимаемое хранилищем, составляет 100 лет. При этом в случае увеличения данного значения размер таблицы увеличивается. Если он станет очень большим, доставка сообщений может замедлиться.
Хранилище периодически удаляет старые элементы из таблицы DeliveredTo. Старые элементы удаляются фоновым потоком очистки, который запускается каждый час. Частоту очистки можно изменить, изменив значение параметра реестра DeliveredTo Cleanup Interval in Seconds. Это значение задает частоту очистки таблицы DeliveredTo в секундах. По умолчанию оно составляет 3600 секунд (1 час).
Изменение значения реестра «DeliveredTo Expiration in Hours»-
Откройте редактор реестра.
-
Разверните следующий подраздел:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<имя_сервера>\Private-<GUID>
-
Щелкните правой кнопкой мыши элемент Private-<GUID> и выберите по очереди пункты Создать и Параметр DWORD.
-
Введите DeliveredTo Expiration in Hours и нажмите клавишу ВВОД, чтобы присвоить имя новому значению.
-
Щелкните правой кнопкой мыши элемент DeliveredTo Expiration in Hours и выберите пункт Изменить.
-
Введите в поле Значение время в часах, в течение которого требуется хранить сведения о полученных сообщениях, и нажмите кнопку ОК.
-
Разверните следующий подраздел:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<имя_сервера>\Public-<GUID>
-
Щелкните правой кнопкой мыши элемент Public-<GUID> и выберите по очереди пункты Создать и Параметр DWORD.
-
Введите DeliveredTo Expiration in Hours и нажмите клавишу ВВОД, чтобы присвоить имя новому значению.
-
Щелкните правой кнопкой мыши элемент DeliveredTo Expiration in Hours и выберите пункт Изменить.
-
Введите в поле Значение время в часах, в течение которого требуется хранить сведения о полученных сообщениях до удаления, и нажмите кнопку ОК.
-
Закройте редактор реестра.
-
Откройте редактор реестра.
-
Разверните следующий подраздел:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<имя сервера>\Private-<GUID>
-
Щелкните правой кнопкой мыши элемент Private-<GUID> и выберите по очереди пункты Создать и Параметр DWORD.
-
Введите DeliveredTo Cleanup Interval in Seconds и нажмите клавишу ВВОД, чтобы присвоить имя новому значению.
-
Щелкните правой кнопкой мыши значение DeliveredTo Cleanup Interval in Seconds и выберите команду Изменить.
-
В поле Значение введите интервал в секундах между очистками таблицы DeliveredTo и нажмите кнопку ОК.
-
Разверните следующий подраздел:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<имя сервера>\Public<GUID>
-
Щелкните правой кнопкой мыши элемент Public-<GUID> и выберите по очереди пункты Создать и Параметр DWORD.
-
Введите DeliveredTo Cleanup Interval in Seconds и нажмите клавишу ВВОД, чтобы присвоить имя новому значению.
-
Щелкните правой кнопкой мыши значение DeliveredTo Cleanup Interval in Seconds и выберите команду Изменить.
-
В поле Значение введите интервал в секундах между очистками таблицы DeliveredTo и нажмите кнопку ОК.
-
Закройте редактор реестра.
После изменения этих значений реестра повторяющиеся сообщения электронной почты могут возникать по причинам, указанным ниже.
- Если идентификатор сообщения Интернета или время отправки
различается для двух сообщений, второе сообщение не считается
повторяющимся.
- Если два сообщения одинаковы, но интервал времени между
получением двух сообщений превышает один час, задача очистки
хранилища удаляет исходную запись в таблице DeliveredTo и
пользователь получает повторяющееся сообщение.
- Если почтовый ящик пользователя перемещается в другую базу
данных, пользователь может получить повторяющееся сообщение.
Таблица DeliveredTo связана с базой данных, и сведения таблицы не
перемещаются вместе с почтовым ящиком пользователя.
- В Exchange 2000 Server и предыдущих версиях Exchange
повторяющиеся сообщения возникают, когда для отправки сообщений
пользователям и в список рассылки, содержащий пользователя,
используется Outlook Web Access. Когда сообщение
отправляется, хранилище Exchange проставляет идентификатор
сообщения Интернета в исходящем сообщении. Однако для отправки
сообщений Outlook Web Access использует собственные
типы MIME. Идентификатор сообщения Интернета, проставляемый в
сообщении хранилищем, не обновляет заголовок MIME «идентификатор
сообщения». Поэтому сообщение MAPI не синхронизировано с
собственным MIME, и классификатор компонента транспорта дублирует
его. В результате создаются повторяющиеся сообщения с различными
идентификаторами сообщения Интернета. В
Exchange Server 2003 и более поздних версиях это
поведение изменено так, чтобы хранилище проставляло идентификатор
сообщения Интернета в сообщении только в том случае, если хранилище
обнаруживает, что требуется восстановить MIME или если сообщение
является чистым сообщением MAPI.