當電子郵件卡在佇列時,疑難排解從 Exchange 2007 到 Exchange 2003 的郵件流程

 

上次修改主題的時間: 2009-01-22

本主題討論如何疑難排解 Microsoft Exchange Server 2007 與 Exchange Server 2003 以及 Exchange 2007 與 Exchange 2000 Server 之間的郵件流程問題。在 Exchange 2003 或 Exchange 2000 組織中安裝 Exchange 2007 之後,可能會發現下列問題:

  • 郵件不是從 Exchange 2007 流向 Exchange 2003 或 Exchange 2000。不過,電子郵件可以從 Exchange 2003 或 Exchange 2000 傳送至 Exchange 2007。

  • 當您檢查 Exchange 2007 中的佇列檢視器時,電子郵件會卡在 Exchange 2007 端的「無法存取網域」佇列中。

  • 當您連按兩下電子郵件來檢查內容時,可能會收到下列錯誤訊息:「目前沒有到信箱資料庫的路由」。

  • Outlook 用戶端可以登入,但無法傳送或接收郵件。輸出郵件仍保留在寄件匣中。

  • 郵件會排入 Exchange 2007 Hub Server 的 MapiDelivery 佇列中。此佇列處於就緒狀態,但有些郵件卡在此佇列中。此外,郵件狀態顯示下列錯誤:

    「430 4.2.0 STOREDRV; 信箱登入失敗」。

  • 從 Exchange 2007 信箱送出的郵件會路由傳送至 Exchange 2007 Hub Server 的「無法達到的目的地」佇列。此外,郵件狀態顯示下列錯誤:

    「信箱收件者沒有信箱資料庫」。

  • 您無法使用 BASIC (AUTH LOGIN) 或 SPA (AUTH GSSAPI) 向 SMTP 服務驗證認證

如果出現下列一或多種情況,便會發生這些問題:

  • 已從 Exchange 2003 或 Exchange 2000 伺服器物件,或從 Exchange 2003 或 Exchange 2000 信箱儲存區物件中移除可繼承的權限。

  • Exchange Servers 群組沒有 Exchange 2003 或 Exchange 2000 伺服器物件或是 Exchange 2003 或 Exchange 2000 信箱儲存區物件的適當權限。

  • Exchange 2007 的系統管理群組下遺失 Folder Hierarchies 容器。在此情況下,會遺失公用資料夾的 HomeMDB 值。

  • Exchange Servers 群組缺少 Active Directory 中 Exchange 伺服器物件的權限。特別的是,已從 Exchange 伺服器物件移除明確的 [允許] 權限,或是針對該物件的下列權限而繼承的 [拒絕] 權限:

    • 儲存限制的委派

    • 儲存讀取和寫入權限

    • 儲存唯讀權限

    • 儲存傳輸存取

  • 在主控寄件者信箱的伺服器上,下列事件會記錄於事件檢視器的應用程式記錄檔中:

    事件識別碼: 1009

    類別:MSExchangeMail

    SubmissionSource:MSExchangeMailSubmission

    類型:警告

    機器:Server_Name

    訊息:Microsoft Exchange 郵件提交服務目前無法聯絡本機 Active Directory 站台內的任何 Hub Transport Server。此時這些伺服器可能會因為太忙碌而無法接受新的連線。

  • 當您在 Mailbox Server 上使用 Microsoft Exchange Troubleshooting Assistant,以利用儲存區驅動程式標記和 Transport 標記來完成追蹤時,會收到數則錯誤訊息。這些錯誤訊息說明 Transport 服務中儲存區驅動程式的程式碼無法使用 MAPI 登入 Exchange 儲存區。因此,儲存區驅動程式無法採用該郵件項目,並將它放入提交佇列。例如,您可能會看到與下面類似的錯誤訊息:

    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 Servers 群組具有適當的權限。

  • 使用 Active Directory 服務介面 (ADSI) 編輯器,在 Exchange Server 2007 的系統管理群組下建立 Folder Hierarchies 容器。

  • 將明確的 [允許] 權限授與 Active Directory 中 Exchange 伺服器物件的 Exchange Servers 權限群組。

開始之前

若要執行此程序,必須對您使用的帳戶委派本機 Administrators 群組的成員資格。如需管理 Exchange 2007 所需之權限、委派角色及權利的相關資訊,請參閱權限考量

程序

將可繼承的權限新增至信箱儲存區物件

  1. 在郵件正排入佇列的 Exchange 2007 伺服器上,取得最新的 routingconfig@<time_stamp>.xml 檔案。

  2. 使用記事本開啟檔案,然後搜尋 HomeMdbRouting 區段。

  3. 確認有郵件收件者信箱儲存區的清單。尋找適當的 Exchange 2003 伺服器。

  4. 在 Exchange 2003 Exchange 系統管理員中,尋找 Exchange 2003 伺服器物件的內容、開啟 [安全性] 索引標籤,然後確定 [Exchange Servers] 群組具有下列權限:

    • 讀取

    • 存取收件者更新服務

    • 系統管理員資訊儲存庫

    • 在資訊儲存庫中建立名稱內容

    • Exchange Web 服務模擬

    • Exchange Web 服務 Token 序列化

    • 修改公用資料夾複本清單

    • 開啟郵件傳送佇列

    • 讀取 Metabase 內容

    • 以下列傳送

    • 檢視資訊儲存庫狀態

  5. 按一下 [進階],然後選取 [允許可繼承的權限] 核取方塊。

  6. 針對此 Exchange 2003 伺服器下的每個信箱儲存區物件,重複步驟 4 到 5。

  7. 重新啟動 Exchange 2007 伺服器上的 [Microsoft Exchange Transport] 服務,以更新路由表。

使用 ADSI 編輯器建立 Folder Hierarchies 容器

  1. 啟動 [ADSI 編輯器]。

  2. 展開下列容器:

    Configuration [<Your_Domain_Name > ]/CN=Configuration, DC=<Your_Domain_Controller> ,DC=com/CN=Services/CN=Microsoft Exchange/CN=<Your_Organization_Name>,CN=Administrative Groups

  3. 在 [CN=<Your_Administrative_Group_Name>] 上按一下滑鼠右鍵,指向 [新增],然後按一下 [物件]。

  4. 按一下 [選取類別] 清單中的 [msExchPublicFolderTreeContainer],然後按 [下一步]。

  5. 在 [值] 方塊中,輸入 Folder Hierarchies,然後按 [下一步]。

  6. 按一下 [完成]。

  7. 判定公用資料夾儲存區上的 msExchPFOwningPFTree 屬性是否與公用資料夾樹狀目錄相關聯。若要這樣做,請遵循下列步驟:

    1. 在 [ADSI 編輯器] 中,展開下列容器:

      Configuration [<Your_Domain_Name > ]/CN=Configuration, DC=<Your_Domain_Controller>,DC=com/CN=Services/CN=Microsoft Exchange/CN=<Your_Organization_Name>/CN=Administrative Groups/CN=<Your_Administrative_Group_Name>/CN=Servers/CN=<Your_Server_Name>/CN=Information Store/CN=<Your_StorageGroup_Name>.

    2. 在右窗格中,於 [CN=Public folder store] 上按一下滑鼠右鍵,然後按一下 [內容]。

    3. 在 [屬性] 清單中,尋找 [msExchOwningPFTree] 屬性。此值提供公用資料夾樹狀目錄的位置。如果屬性沒有值,或是值不正確,請移至步驟 8。

    4. 展開 [msExchOwningPFTree] 屬性值中所識別的容器。

    5. 在 [CN=Public folders] 上按一下滑鼠右鍵,然後按一下 [移動]。

    6. 在 [要移入物件的容器] 對話方塊中,按一下 [資料夾階層],然後按一下 [確定]。

  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 編輯器],然後重新啟動 Information Store 服務。

將明確的 [允許] 權限授與 Active Directory 中 Exchange 伺服器物件的 Exchange Servers 權限群組。

  1. 啟動 ADSI 編輯器。

  2. 展開 Exchange 伺服器物件。

    • 如果您執行的是 Exchange Server 2007,請展開下列容器:

      CN=Configuration/CN=Services/CN=Microsoft Exchange/CN=<YourDomain>/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 編輯器]。