Устранение неполадок с потоком почты с Exchange Server 2007 на Exchange Server 2003, при которых сообщения электронной почты задерживаются в очереди

 

Последнее изменение раздела: 2009-01-22

В данном разделе описывается устранение неполадок с потоком почты между сервером Microsoft Exchange Server 2007 и сервером Exchange Server 2003, а также между сервером Exchange 2007 и сервером Exchange 2000 Server. После установки сервера Exchange 2007 в организации Exchange 2003 или Exchange 2000 могут возникать проблемы, описанные ниже.

  • Поток почты с сервера Exchange 2007 на сервер Exchange 2003 или Exchange 2000 отсутствует. Однако можно отправлять сообщения электронной почты с сервера Exchange 2003 или Exchange 2000 на сервер Exchange 2007.

  • Если воспользоваться средством просмотра очереди в Exchange 2007, можно выяснить, что сообщения электронной почты задерживаются в очереди «Недоступный домен» на стороне сервера Exchange 2007.

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

  • Клиенты Outlook могут входить в систему, но не могут отправлять или получать почту. Исходящие сообщения остаются в папке «Исходящие».

  • Сообщения скапливаются в очереди MapiDelivery на центральном сервере Exchange 2007. Очередь находится в состоянии «Готово», но сообщения задерживаются в очереди. Кроме того, состояние сообщения содержит следующую ошибку:

    «430 4.2.0 STOREDRV; сбой входа в почтовый ящик».

  • Сообщения, отправляемые из почтового ящика Exchange 2007, перенаправляются в очередь «Сообщения с недостижимым местом назначения» на центральном сервере Exchange 2007. Кроме того, состояние сообщения содержит следующую ошибку:

    «Получатель почтового ящика не имеет базы данных почтовых ящиков».

  • Не удается пройти проверку подлинности учетных данных в службе SMTP с помощью методов BASIC (AUTH LOGIN) или SPA (AUTH GSSAPI).

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

  • наследуемые разрешения были удалены из объекта сервера Exchange 2003 или Exchange 2000 либо из объекта хранилища почтовых ящиков Exchange 2003 или Exchange 2000;

  • у группы «Серверы Exchange» нет необходимых разрешений для работы с объектом сервера Exchange 2003 или Exchange 2000 либо с объектом хранилища почтовых ящиков Exchange 2003 или Exchange 2000;

  • в административной группе на сервере Exchange 2007 отсутствует контейнер «Иерархии папок». В этом случае для общих папок отсутствует значение атрибута HomeMDB;

  • у группы «Серверы Exchange» отсутствуют разрешения для работы с объектом сервера Exchange в Active Directory. В частности, было унаследовано разрешение «Запретить» или явным образом снято разрешение «Разрешить» для следующих прав на объекте сервера Exchange:

    • ограниченное делегирование хранилища;

    • доступ к хранилищу для чтения и записи;

    • доступ к хранилищу только для чтения;

    • доступ к транспорту хранилища;

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

    Код события: 1009

    Категория: MSExchangeMail

    Источник: MSExchangeMailSubmission

    Тип: предупреждение

    Компьютер: имя_сервера

    Сообщение: Службе передачи почты Microsoft Exchange в настоящий момент не удается связаться с транспортными серверами-концентраторами на локальном сайте Active Directory. Возможно, серверы заняты и не могут принимать новые подключения.

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

    StoreDriver, MailSubmissionService, PFD EMS 22427 SubmitMail for mailbox 1d53da12-6722-4986-bc19-da72890329ed at entry 536769

    StoreDriver, MapiSubmit, PFD ESD 27547 Processing Rpc SubmitMessage for event Event 536769, mailbox 1d53da12-6722-4986-bc19-da72890329ed, mdb 13d716e1-9ccd-4f44-a47f-993adbf2f7b5

    StoreDriver, MapiSubmit, PFD ESD 23451 Submitting event Event 536769, mailbox 1d53da12-6722-4986-bc19-da72890329ed, mdb 13d716e1-9ccd-4f44-a47f-993adbf2f7b5

    StoreDriver, MapiSubmit, PFD ESD 17307 Opening mailbox 1d53da12-6722-4986-bc19-da72890329ed on 13d716e1-9ccd-4f44-a47f-993adbf2f7b5,server.contoso.com

    000002E6, 2C0067006E0069, StoreDriver, ExceptionHandling, Exception occurred during message Submit : Microsoft.Mapi.MapiExceptionLogonFailed: MapiExceptionLogonFailed: Unable to make connection to the server. (hr=0x80040111, ec=1010)Diagnostic context: ...... Lid: 8600 dwParam: 0x6BA Msg: EEInfo: ProcessID: 4956 Lid: 12696 dwParam: 0x6BA Msg: EEInfo: Generation Time: 2007-02-08 10:32:23:406 Lid: 10648 dwParam: 0x6BA Msg: EEInfo: Generating component: 2 Lid: 14744 dwParam: 0x6BA Msg: EEInfo: Status: 1722 Lid: 9624 dwParam: 0x6BA Msg: EEInfo: Detection location: 390 Lid: 13720 dwParam: 0x6BA Msg: EEInfo: Flags: 0 Lid: 11672 dwParam: 0x6BA Msg: EEInfo: NumberOfParameters: 2 Lid: 8856 dwParam: 0x6BA Msg: EEInfo: prm[0]: Unicode string: server.contoso.com Lid: 8856 dwParam: 0x6BA Msg: EEInfo: prm[1]: Unicode string: MAIL2 Lid: 23065 EcDoConnectEx called [length=188] Lid: 17913 EcDoConnectEx returned [ec=0x3F2][length=56][latency=0] Lid: 23065 EcDoConnectEx called [length=188] Lid: 17913 EcDoConnectEx returned [ec=0x3F2][length=56][latency=0] Lid: 19778 Lid: 27970 StoreEc: 0x3F2 Lid: 17730 Lid: 25922 StoreEc: 0x3F2

    at Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, Int32 ec, DiagnosticContext diagCtx)

    at Microsoft.Mapi.ExRpcConnection.Create(ConnectionCache connectionCache, ExRpcConnectionCreateFlag createFlags, ConnectFlag connectFlags, String serverDn, String userDn, String user, String domain, String password, String httpProxyServerName, Int32 ulConMod, Int32 lcidString, Int32 lcidSort, Int32 cpid, Int32 cReconnectIntervalInMins, Int32 cbRpcBufferSize, Int32 cbAuxBufferSize)

    at Microsoft.Mapi.ConnectionCache.OpenMapiStore(String mailboxDn, Guid mailboxGuid, Guid mdbGuid, ClientIdentityInfo clientIdentity, String userDnAs, OpenStoreFlag openStoreFlags, CultureInfo cultureInfo, String applicationId)

    at Microsoft.Mapi.ConnectionCache.OpenMailbox(String mailboxDn, Guid mailboxGuid, Guid mdbGuid, WindowsIdentity windowsIdentityAs, String userDnAs, OpenStoreFlag openStoreFlags, CultureInfo cultureInfo, String applicationId)

    at Microsoft.Exchange.Data.Storage.ConnectionCachePool.OpenMailbox(String serverDn, String userDn, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, Object identity, ConnectFlag connectFlag, OpenStoreFlag openStoreFlag, CultureInfo cultureInfo, String clientInfoString, Boolean secondTry)

Решение

Чтобы устранить проблему, воспользуйтесь одним из указанных ниже способов.

  • Добавьте наследуемые разрешения к соответствующему объекту хранилища почтовых ящиков и убедитесь в том, что группа «Серверы Exchange 2000» имеет соответствующие разрешения.

  • С помощью редактора ADSI создайте в административной группе на сервере Exchange Server 2007 контейнер «Иерархии папок».

  • Явным образом предоставьте группе «Серверы Exchange» разрешение «Разрешить» для объекта сервера Exchange в Active Directory.

Предварительная подготовка

Для выполнения описанных ниже действий используемой учетной записи необходимо делегировать членство в локальной группе администраторов. Дополнительные сведения о разрешениях, делегировании ролей и правах, необходимых для администрирования сервера Exchange 2007, см. в разделе Вопросы, связанные с разрешениями.

Процедура

Добавление наследуемых разрешений на работу с объектом хранилища почтовых ящиков

  1. На сервере Exchange 2007, на котором сообщения задерживаются в очереди, получите последний файл routingconfig@<отметка_времени>.xml.

  2. Откройте этот файл в программе "Блокнот" и найдите в нем раздел HomeMdbRouting.

  3. Убедитесь, что в нем указано хранилище почтовых ящиков получателя сообщений. Найдите соответствующие серверы Exchange 2003.

  4. В диспетчере Exchange на сервере Exchange 2003 откройте свойства объекта сервера Exchange 2003, откройте вкладку Безопасность и присвойте группе Серверы Exchange разрешения, указанные ниже.

    • Чтение

    • Доступ к службе обновления получателей

    • Администрирование банка данных

    • Создание именованных свойств в банке данных

    • Олицетворение веб-служб Exchange

    • Сериализация маркера веб-служб Exchange

    • Изменение списка реплик общих папок

    • Открытие очереди отправки сообщений

    • Чтение свойств метабазы

    • Отправить как

    • Просмотр состояния банка данных

  5. Выберите пункт Дополнительно и установите флажок Разрешить наследование разрешений.

  6. Повторите действия 4–5 для каждого объекта хранилища почтовых ящиков на данном сервере Exchange 2003.

  7. Перезапустите транспортную службу Microsoft Exchange на сервере Exchange 2007 для обновления таблиц маршрутизации.

Создание контейнера «Иерархии папок» с помощью редактора ADSI

  1. Откройте редактор ADSI.

  2. Разверните следующий контейнер:

    Конфигурация [<имя_домена > ]/CN=Configuration, DC=<контроллер_домена> ,DC=com/CN=Services/CN=Microsoft Exchange/CN=<имя_организации>,CN=Administrative Groups

  3. Щелкните правой кнопкой мыши контейнер CN=<имя_административной_группы>, выберите команду Создать, а затем выберите пункт Объект.

  4. В списке Выберите класс выберите элемент msExchPublicFolderTreeContainer и нажмите кнопку Далее.

  5. В поле Значение введите Folder Hierarchies и нажмите кнопку Далее.

  6. Нажмите кнопку Готово.

  7. Определите, сопоставлен ли атрибут msExchPFOwningPFTree хранилища общих папок с деревом общих папок. Для этого выполните действия, описанные ниже.

    1. Разверните в редакторе ADSI следующий контейнер:

      Конфигурация [<имя_домена > ]/CN=Configuration, DC=<контроллер_домена>,DC=com/CN=Services/CN=Microsoft Exchange/CN=<имя_организации>/CN=Administrative Groups/CN=<имя_административной_группы>/CN=Servers/CN=<имя_сервера>/CN=Information Store/CN=<имя_группы_хранения>.

    2. На правой панели щелкните правой кнопкой мыши элемент CN=Public folder store и выберите пункт Свойства.

    3. В списке Атрибуты найдите атрибут msExchOwningPFTree. Значение атрибута представляет собой местоположение дерева общих папок. Если значение атрибута отсутствует или является неверным, перейдите к действию 8.

    4. Разверните контейнер, указанный в качестве значения атрибута msExchOwningPFTree.

    5. Щелкните правой кнопкой мыши элемент CN=Public folders и выберите пункт Переместить.

    6. В диалоговом окне Контейнер для перемещения объекта в выберите элемент Folder hierarchies и нажмите кнопку ОК.

  8. Если хранилище общих папок не сопоставлено с деревом общих папок, создайте новое дерево общих папок. Для этого выполните действия, описанные ниже.

    1. Щелкните правой кнопкой мыши элемент CN=Folder Hierarchies и выберите последовательно команды Создать и Объект.

    2. В списке Выберите класс выберите элемент msExchPFTree и нажмите кнопку Далее.

    3. В поле Значение введите Public Folders, а затем нажмите кнопку Далее.

    4. Нажмите кнопку Дополнительные атрибуты.

    5. В списке Выберите свойство для просмотра выберите элемент msExchPFTreeType, введите 1 в поле Изменить атрибут и нажмите кнопку Установить.

      importantВажно!
      Для атрибута должно быть установлено значение 1, чтобы сервер Exchange идентифицировал его как дерево MAPI.
    6. Нажмите кнопку ОК, а затем — кнопку Готово.

  9. Заполните объект атрибута msExchOwningPFTreeBL для хранилищ общих папок в организации. Для этого выполните действия, описанные ниже.

    1. В редакторе ADSI щелкните правой кнопкой мыши созданное дерево общих папок и выберите пункт Свойства.

    2. В списке Атрибуты выберите элемент distinguishedName и нажмите кнопку Просмотр.

    3. Скопируйте значение в поле Значение в буфер обмена и дважды нажмите кнопку Отмена.

    4. Разверните контейнер группы хранения, содержащий хранилище общих папок сервера, щелкните сервер правой кнопкой мыши и выберите пункт Свойства.

    5. В списке Атрибуты выберите атрибут msExchOwningPFTree и нажмите кнопку Изменить.

    6. Нажмите кнопку Очистить, вставьте значение, скопированное в буфер обмена из поля Значение, и нажмите кнопку ОК.

    7. Закройте редактор ADSI и перезапустите службу банка данных.

Предоставление группе «Серверы Exchange» явного разрешения «Разрешить» на объекте сервера Exchange в Active Directory

  1. Откройте редактор ADSI.

  2. Разверните объект сервера Exchange.

    • Если используется сервер Exchange Server 2007, разверните следующий контейнер:

      CN=Configuration/CN=Services/CN=Microsoft Exchange/CN=<домен>/CN=Administrative Groups\CN=Exchange Administrative Group/CN=Servers

    • Если используется сервер Exchange Server 2003, разверните следующий контейнер:

      CN=Configuration/CN=Services/CN=Microsoft Exchange/CN=Administrative Group/CN=First Administrative Group/CN=Servers

  3. На правой панели щелкните имя сервера правой кнопкой мыши и выберите пункт Свойства.

  4. На вкладке Безопасность нажмите кнопку Дополнительно.

  5. На вкладке Разрешения щелкните заголовок столбца Имя, чтобы отсортировать содержимое по имени.

  6. В столбце имя Имя параметры безопасности, которые начинаются со слов Серверы Exchange.

  7. В столбце Разрешение найдите указанные ниже разрешения для параметров безопасности Серверы Exchange и определите, установлено ли для параметра в столбце Тип значение Запретить.

    • Ограниченное делегирование хранилища

    • Доступ к хранилищу для чтения и записи

    • Доступ к хранилищу только для чтения

    • Доступ к транспорту хранилища

  8. Если для разрешения установлено значение Запретить, щелкните параметр, нажмите кнопку Изменить, установите для разрешения флажок Разрешить и нажмите кнопку ОК.

  9. Для всех разрешений, найденных в действии 7, установите значение Разрешить, дважды нажмите кнопку ОК и закройте редактор ADSI.