Sun Java System Messaging Server 6 2005Q4 管理指南

mm_init 中的錯誤

mm_init 中的錯誤一般指示 MTA 配置問題。如果您執行 imsimta test -rewrite 公用程式,則可以顯示這些錯誤。其他公用程式 (如 imsimta cnbuild)、通道、伺服器或瀏覽器也可能會傳回此類錯誤。

通常遇到的 mm_init 錯誤包括:

別名不等效. . .

別名檔案項目的右端格式不正確。

無法開啟別名中包含的檔案. . .

別名檔案中包含的檔案無法開啟。

找到重複的別名. . .

兩個別名檔案項目具有相同的左端。您需要找到並刪除重複的別名。搜尋顯示為 error line #XXX (其中,XXX 為行號) 的錯誤訊息。您可以在該行修正重複的別名。

通道表中的主機重複. . .

此錯誤訊息表明在 MTA 配置中有兩個通道定義,具有相同的正式主機名稱。

請注意,您的 MTA 配置檔案 (imta.cnf) 的重寫規則 (上半部分) 中的多餘空行會導致 MTA 將配置檔案的剩餘部分解譯為通道定義。請確定檔案的第一行不為空白。由於多個重寫規則通常具有相同式樣 (左側),因此這會導致 MTA 將這些重寫規則解譯為具有非唯一正式主機名稱的通道定義。檢查您的 MTA 配置,以查看是否存在具有重複正式主機名稱的任何通道定義,並查看檔案上半部分 (重寫規則) 是否存在不正確的空白行。

找到重複的對映名稱. . .

此訊息表明兩個對映表具有相同名稱,需要移除其中一個重複的對映表。但是,對映檔案中的格式化錯誤可能會導致 MTA 將某些內容錯誤解譯為對映表名稱。例如,未正確縮排對映表項目將導致 MTA 認為項目的左側實際為對映表名稱。檢查對映檔案的一般形式,並檢查對映表名稱。


備註 –

空白行應位於前面並跟隨在帶有對映表名稱的任何行之後。但是,對映表項目之間不應留有空白行。


對映名稱太長. . .

此錯誤表示對映名稱太長,需要縮短。對映檔案中的格式化錯誤可能會導致 MTA 將某些內容錯誤解譯為對映表名稱。例如,未正確縮排對映表項目將導致 MTA 認為項目的左側實際為對映表名稱。檢查您的對映檔案以及對映表名稱。

初始化 ch_ facility 時發生錯誤︰編譯的字元集版本不符

如果您看到此訊息,則需要透過指令 imsimta chbuild 重新編譯並重新安裝已編譯的字元集表。請參閱「Sun Java System Messaging Server 6 2005Q4 Administration Reference」中的「imsimta chbuild」,以取得更多資訊。

初始化 ch_ facility 時發生錯誤︰沒有空間. . .

此錯誤訊息通常意味著您需要調整 MTA 字元集內部表的大小,然後使用以下指令重新建立已編譯的字元集表:


imsimta chbuild -noimage -maximum -option
imsimta chbuild

進行此變更之前,請驗證沒有其他內容需要重新編譯或重新啟動。請參閱「Sun Java System Messaging Server 6 2005Q4 Administration Reference」中的「imsimta chbuild」,以取得有關 imsimta chbuild 的更多資訊。

系統的本地主機別名或本來的名稱太長. . .

此錯誤表明本地主機別名或本來的名稱太長 (通道區段中第二個或後續名稱的右端)。但是,MTA 配置檔案中早先的某些語法錯誤 (例如,重寫規則中的多餘空白行) 可能會導致 MTA 將某些內容錯誤解譯為通道定義。除了檢查配置檔案指出的一行之外,還應檢查此行以上的內容是否存在其他語法錯誤。特別是,如果 MTA 發出此錯誤的行將成為重寫規則,則請務必檢查此行以上是否存在多餘空白行。

別名沒有等效位址. . .

別名檔案中的項目缺少右端 (翻譯值)。

通道沒有正式主機名稱. . .

此錯誤表明通道定義區段缺少必要的第二行 (正式主機名稱行)。請參閱「Sun Java System Messaging Server Administration Reference」和第 12 章, 配置通道定義中有關 MTA 配置和指令行公用程式的章節,以取得有關通道定義區段的更多資訊。每個通道定義塊之前與之後均必須有一空白行,但空白行不能存在於通道名稱和通道定義的正式主機名稱行之間。另請注意,MTA 配置檔案的重寫規則部分不允許有空白行。

正式主機名稱太長

通道的正式主機名稱 (通道定義區段的第二行) 長度限制為 128 八位元組。如果您要嘗試在通道上使用較長的正式主機名稱,請將其縮短為定位字元名稱,然後使用重寫規則使較長名稱與短的正式主機名稱相符。如果您使用 l (本地) 通道主機名稱,則可能會看到此情形。例如:


Original l Channel:
!delivery channel to local /var/mail store
l subdirs 20 viaaliasrequired maxjobs 7 pool LOCAL_POOL
walleroo.pocofronitas.thisnameismuchtoolongandreallymakesnosensebutitisan
example.monkey.gorilla.orangutan.antidisestablismentarianism.newt.salaman
der.lizard.gecko.komododragon.com

Create Place Holder:
!delivery channel to local /var/mail store 
l subdirs 20 viaaliasrequired maxjobs 7 pool LOCAL_POOL
newt

Create Rewrite Rule:
newt.salamander.lizard.gecko.komododragon.com   $U%$D@newt

請注意,當使用 l (本地) 通道時,您將需要使用反向對映表。請參閱「Sun Java System Messaging Server Administration Reference」中的 MTA 配置章節,以取得有關用法和語法的資訊。

MTA 配置檔案中早先的某些語法錯誤 (例如重寫規則中的多餘空白行) 可能會導致 MTA 將某些內容錯誤解譯為通道定義。這會導致預計的重寫規則被解譯為正式主機名稱。除了檢查配置檔案指出的一行之外,還應檢查此行以上的內容,看是否存在其他語法錯誤。尤其是如果 MTA 發出此錯誤的行預計作為重寫規則,則請確定檢查此行以上是否存在多餘空白行。