Sun Java System Messaging Server 6.3 管理指南

25.3 管理 MTA 郵件和連線記錄

MTA 提供在每封郵件排入佇列和移出佇列時對其進行記錄的功能。還提供了派送程式錯誤和除錯輸出。

本節包含以下小節:

您可以控制每個通道上的記錄,也可以指定要記錄的所有通道上的郵件作業。在初始配置中,記錄在所有通道上均被停用。

請參閱25.3.2 啟用 MTA 記錄,以取得更多資訊。

啟用記錄使得 MTA 在每次郵件通過 MTA 通道時,都將一個項目寫入至 msg-svr-base/data/log/mail* 檔案。這些記錄項目有助於收集正在經由 MTA (或特定通道) 郵件的數量統計。您還可以使用這些記錄項目來研究其他問題,例如是否傳送或投遞郵件以及何時傳送或投遞郵件。

郵件傳回工作 (每晚午夜時分執行),將所有現有 mail.log_yesterday 都附加到累積記錄檔 mail.log,將目前 mail.log_current 檔案重新命名為 mail.log_yesterday,並建立新的 mail.log_current 檔案。郵件傳回工作還對所有 connection.log* 檔案執行相似的作業。

MTA 執行自動重建以維護目前檔案時,必須透過為作業 (如備份檔案、截斷檔案、刪除檔案等) 決定策略來管理累積 mail.log 檔案。

考量如何管理記錄檔時,請注意 MTA 定期傳回工作將執行站點提供的 msg-svr-base/bin/daily_cleanup 程序 (如果存在)。因而某些站點可能選擇提供他們自己的清除程序,例如每週 (或每月) 重新命名一次舊的 mail.log 檔案等。


備註 –

啟用記錄後,mail.log 將穩定地增長,如果不進行限制,將佔用所有可用磁碟空間。監視此檔案的大小並定期地刪除不必要的內容。您還可以刪除整個檔案,並依需要建立另一個版本。


25.3.1 瞭解 MTA 記錄項目格式

MTA 記錄檔以 ASCII 文字書寫。依預設,每個記錄檔項目都包含八個或九個欄位,如以下範例所示。

16-Feb-2007 14:54:13.72 tcp_local ims-ms EE 1 adam@sesta.com rfc822;marlowe@siroe.com marlowe@ims-ms-daemon

記錄項目顯示:

  1. 項目建立的日期和時間 (在此範例中為 16-Feb-2007 14:54:13.72)。

  2. 來源通道的通道名稱 (在此範例中為 tcp_local)。

  3. 目標通道的通道名稱 (在此範例中為 ims-ms)。(對於 SMTP 通道,啟用 LOG_CONNECTION 時,加號 (+) 表示內寄至 SMTP 伺服器;減號 (-) 表示透過 SMTP 用戶端外寄。)

  4. 項目的類型 (在此範例中為 EE)。項目可包含單一動作代碼 (請參閱表 25–2) 或一個動作代碼和一或多個修飾鍵代碼 (請參閱表 25–3)。以下是項目的格式:

    <action_code> <zero or more optional modifiers>

    例如,記錄項目代碼 EEC 表示電子郵件已排入佇列 (動作代碼 E),方法是使用 ESMTP (修飾鍵 E) 和 SMTP Chunking (修飾鍵 C)。請參閱下表,以取得有關目前使用的動作和修飾鍵代碼之詳細資訊。

  5. 郵件的大小 (在此範例中為 1)。依預設以千位元組為單位表示,不過可以使用 MTA 選項檔案中的 BLOCK_SIZE 關鍵字變更此預設值。SMS 通道可配置為記錄呼叫計數,而非此欄位中的檔案大小。請參閱LOG_PAGE_COUNT

  6. 訊息封 From: 位址 (在此範例中為 adam@sesta.com)。請注意帶有空訊息封 From: 位址的郵件 (如通知郵件),此欄位為空白。

  7. 訊息封 To: 位址的原始格式 (在此範例中為 marlowe@siroe.com)。

  8. 訊息封 To: 位址的使用中 (目前) 格式 (在此範例中為 marlowe@ims-ms-daemon)。

  9. 投遞狀態 (僅適用於 SMTP 通道)。

以下三個表格說明記錄項目代碼。

表 25–2 記錄項目動作代碼

項目 

說明 

傳送至 SMTP 伺服器的錯誤指令。收件者位址欄位將包含被拒絕的指令,而診斷欄位將包含 SMTP 伺服器提供的回應。MTA 通道選項 MAX_B_ENTRIES 控制在指定的階段作業中登入的錯誤指令數目。預設為 10。 

成功移出佇列 

排入佇列 

拒絕嘗試排入佇列 (遭從屬通道程式拒絕) 

收件者郵件被拒絕。,原因是寄件者請求 NOTIFY=NEVER 旗標設定,或郵件逾時,或者郵件被手動傳回 (例如:imsimta qm「delete」 指令一律為每位收件者產生「K」記錄,而 qm「return」指令將產生「K」記錄而不是「R」記錄)。這表示根據寄件者自己的請求未向寄件者傳送通知。

雖然此記錄可與「R」記錄 (相同類型的拒絕/逾時記錄) 進行比較,但還會根據此傳送失敗的郵件產生新的通知郵件 (傳回至原寄件者)。 

暫時無法移出佇列 

嘗試移出佇列時,收件者位址遭拒絕 (遭主要通道程式拒絕) 或產生失敗/退回郵件 

每次作業事件異常中斷時所顯示的警告訊息。每個排入佇列的收件者位址會有一個「V」記錄。 

傳送警告訊息以通知原寄件者郵件尚未遞送,而是仍在被重試的佇列中。 

已成功傳送給一些收件者,但暫時未成功傳送給此收件者;所有收件者的原郵件檔案已移出佇列,並在該位置讓此收件者和其他未成功傳送的收件者的新郵件檔案立即排入佇列 

下表說明記錄項目修飾鍵代碼。

表 25–3 記錄項目修飾鍵代碼

項目 

說明 

已使用 SASL 認證。 

已使用資料分塊。請注意,必須已使用ESMTP ,才能進行資料分塊,因此一般會看到如 EECDEC 的欄位值。

已發出/接受 EHLO 指令,因此已使用 ESMTP。 

已使用 LMTP。 

已使用 TLS/SSL。S 作業事件記錄項目現在增加了與通道相關的各種提交郵件計數器。 

如果啟用 LOG_CONNECTION (請參閱「Sun Java System Messaging Server 6.3 Administration Reference」中的「Option File Format and Available Options」),則會使用另外一組動作代碼。說明如下。

表 25–4 SMTP 通道的 LOG_CONNECTION 動作代碼 + 或 - 項目

項目 

說明 

連線關閉。接著會顯示一個診斷欄位。寫入 connection.log_current (或 mail.log_current,如果正在使用單一記錄檔 )。用於記錄連線關閉的原因。具體來說,如果由於某些階段作業中斷限制導致連線關閉,則該情況將顯示在診斷欄位中。 

連線開啟 

記錄 SMTP 認證成功和失敗情況。其格式與其他 O 和 C 項目相同。具體來說,以相同的次序顯示相同的應用程式與傳輸資訊欄位。如果使用者名稱為已知,它將被記錄在使用者名稱欄位中。LOG_CONNECTION MTA 選項的位元 7 (值 128) 控制該作業。 

連線已拒絕 

建立連線之前嘗試連線失敗 

ETRN 指令已收到 

LOG_CONNECTIONLOG_FILENAMELOG_MESSAGE_IDLOG_NOTARYLOG_PROCESSLOG_USERNAME 都在 MTA 選項檔案中啟用後,格式將發生變化,如以下範例所示。(此範例記錄項目行已因印刷排版原因而換行;實際記錄項目將顯示在一個自然行上。)


16-Feb-2007 15:04:01.14 2bbe.5.3 tcp_local ims-ms
EE 1 service@siroe.com rfc822;adam@sesta.com
adam@ims-ms-daemon 20 /opt/SUNWmsgsr/data/queue/ims-ms/000/ZZf0r2i0HIaY1.01
<0JDJ00803FAON200@mailstore.siroe.com> mailsrv
siroe.com (siroe.com [192.160.253.66])

除了上面已論述的那些欄位外,其中的附加欄位是:

  1. 程序 ID (以十六進位表示),其後是小數點 (點) 字元和計數。如果這是具有多重執行緒的通道項目 (亦即 tcp_* channel 項目),則在程序 ID 和計數之間還會顯示執行緒 ID。在此範例中,程序 ID 是 2bbe.5.3。

  2. 郵件的 NOTARY (傳送收據請求) 旗標,以整數表示 (在此範例中為 20)。

  3. MTA 佇列區域中的檔案名稱 (在此範例中為 /opt/SUNWmsgsr/data/queue/ims-ms/000/ZZf0r2i0HIaY1.01)。

  4. 郵件 ID (在此範例中為 <0JDJ00803FAON200@mailstore.siroe.com>)。

  5. 正在執行中的程序之名稱 (在此範例中為 mailsrv)。在 UNIX 上,對於派送程式程序 (如 SMTP 伺服器),此名稱通常為 mailsrv (除非已使用 SASL,在此情況下為認證的使用者名稱,例如 *service@siroe.com)。

  6. 連線資訊 (在此範例中為 siroe.com (siroe.com [192.160.253.66])。連線資訊由傳送系統或通道名稱組成,如由 HELO/EHLO 線路上的傳送系統表示的名稱 (對於內送的 SMTP 郵件),或排入佇列的通道的正式主機名稱 (對於其他類型的通道)。對於 TCP/IP 通道,傳送系統的實際名稱 (亦即由 DNS 反向查詢和/或 IP 位址報告的符號名稱) 也可以在 ident* 通道關鍵字的控制下報告在括號內;請參閱預設 identnone 關鍵字的12.4.3.4 IDENT 查詢實例使用,該關鍵字會選取顯示從 DNS 中找到的名稱和 IP 位址。

25.3.2 啟用 MTA 記錄

若要僅收集幾個特定 MTA 通道的統計,請僅啟用這些相關 MTA 通道的記錄通道關鍵字。許多站點傾向於在所有 MTA 通道上啟用記錄。特別是,如果您要嘗試追蹤問題,診斷某些問題的第一步是注意到郵件未進入您期望或預計的通道,對所有通道啟用記錄將有助於您研究此類問題。

Procedure啟用特定通道上的 MTA 記錄

  1. 編輯 imta.cnf 檔案。

    該檔案位於 /opt/SUNWmsgsr/config 目錄中。

  2. 若要啟用特定通道記錄,請將 logging 關鍵字增加至通道定義。例如:


    channel-name keyword1 keyword2 logging
    

    此外,您還可以設定一些配置參數,如記錄檔的目錄路徑、記錄層級等等。請參閱25.4 管理郵件儲存記錄、管理記錄和預設服務記錄

Procedure啟用所有通道上的 MTA 記錄

  1. 編輯 imta.cnf 檔案。

    該檔案位於 /opt/SUNWmsgsr/config 目錄中。

  2. 將記錄關鍵字加入您的 defaults 通道配置檔案 (請參閱12.1 配置通道預設)。例如:


    defaults logging notices 1 2 4 7 copywarnpost copysendpost postheadonly 
    noswitchchannel immnonurgent maxjobs 7 defaulthost siroe.com siroe.com
    
    !
    ! delivery channel to local /var/mail store
    l subdirs 20 viaaliasrequired maxjobs 7 pool LOCAL_POOL
    mailhost.siroe.com

25.3.3 指定附加 MTA 記錄選項

除了啟用記錄時始終提供的基本資訊之外,您還可以透過設定 MTA 選項檔案中的各種 LOG_* MTA 選項來指定要包含的附加、選擇性資訊欄位。透過 IMTA 調校檔案 (msg-svr-base/config/imta_tailor) 中的 IMTA_OPTION_FILE 選項指定的檔案,將會指定 MTA 選項檔案。依預設,此為 msg-svr-base/config/option.dat 檔案。

如需有關 MTA 選項檔案的完整詳細資訊,請參閱「Sun Java System Messaging Server 6.3 Administration Reference」中的「Option File」

本節包含以下小節:

Procedure將 MTA 記錄傳送至系統記錄

  1. 編輯 MTA 選項檔案。

  2. LOG_MESSAGES_SYSLOG 選項設定為 1。

    值 0 會停用系統記錄通知的產生。非零值會啟用系統記錄通知的產生,其中的絕對值會控制系統記錄的優先權和功能遮罩。正值表示系統記錄通知和一般 mail.log* 項目;負值 (不建議) 表示只有系統記錄通知,而停用一般 mail.log* 項目。預設值為 0,表示不執行系統記錄 (事件記錄) 記錄。

Procedure控制記錄項目的格式化

  1. 編輯 MTA option.dat 檔案。

  2. 設定 LOG_FORMAT 選項。

    • 1 (預設值) 標準格式。

    • 2 請求非 null 格式化:空白位址欄位將轉換為字串「<>」。

    • 3 請求計數格式化:所有可變長度欄位前要有 N,此為欄位中字元數的計數。

    • 4 導致記錄項目以 XML 相容的格式寫入記錄項目顯示為包含多個屬性和零個子元素的單一 XML 元素。目前定義有三個元素,en 表示排入佇列/移出佇列項目,co 表示連線項目,而 he 表示標頭項目。

      排入佇列/移出佇列 (en) 元素可有以下屬性:


      ts - time stamp (always present)
      no - node name (present if LOG_NODE=1)
      pi - process id (present if LOG_PROCESS=1)
      sc - source channel (always present)
      dc - destination channel (always present)
      ac - action (always present)
      sz - size (always present)
      so - source address (always present)
      od - original destination address (always present)
      de - destination address (always present)
      rf - recipient flags (present if LOG_NOTARY=1)
      fi - filename (present if LOG_FILENAME=1)
      ei - envelope id (present if LOG_ENVELOPE_ID=1)
      mi - message id (present if LOG_MESSAGE_ID=1)
      us - username (present if LOG_USERNAME=1)
      ss - source system (present if bit 0 of LOG_CONNECTION
           is set and source system information is available)
      se - sensitivity (present if LOG_SENSITIVITY=1)
      pr - priority (present if LOG_PRIORITY=1)
      in - intermediate address (present if LOG_INTERMEDIATE=1)
      ia - initial address (present if bit 0 of LOG_INTERMEDIATE
           is set and intermediate address information is available)
      fl - filter (present if LOG_FILTER=1 and filter information
           is available)     
      re - reason (present if LOG_REASON=1 and reason string is set)
      di - diagnostic (present if diagnostic info available)
      tr - transport information (present if bit 5 of LOG_CONNECTION
           is set and transport information is available)
      ap - application information (present if bit 6 of LOG_CONNECTION
           is set and application information is available)
      qt - the amount of time a message has spent in the queue (LOG_QUEUE_TIME=1)

      以下是 en 項目範例:


      <en ts="2004-12-08T00:40:26.70" pi="0d3730.10.43" sc="tcp_local"
      dc="l" ac="E" sz="12" so="info-E8944AE8D033CB92C2241E@whittlesong.com"
      od="rfc822;ned+2Bcharsets@mauve.sun.com"
      de="ned+charsets@mauve.sun.com" rf="22"
      fi="/path/ZZ01LI4XPX0DTM00IKA8.00" ei="01LI4XPQR2EU00IKA8@mauve.sun.com"
      mi="<11a3b401c4dd01$7c1c1ee0$1906fad0@elara>" us=""
      ss="elara.whittlesong.com ([208.250.6.25])"
      in="ned+charsets@mauve.sun.com" ia="ietf-charsets@innosoft.com"
      fl="spamfilter1:rvLiXh158xWdQKa9iJ0d7Q==, addheader, keep"/>

      請注意,此項目為了清楚起見已經換行:實際記錄項目一律會以單行顯示。

      連線 (co) 項目可有以下屬性:


      ts - time stamp (always present, also used in en entries)
      no - node name (present if LOG_NODE=1, also used in en entries)
      pi - process id (present if LOG_PROCESS=1, also used in en entries)
      sc - source channel (always present, also used in en entries)
      dr - direction (always present)
      ac - action (always present, also used in en entries)
      tr - transport information (always present, also used in en entries)
      ap - application information (always present, also used in en entries)
      mi - message id (present only if message id info available,
           also used in en entries)
      us - username (present only if username information available, also
           used in en entries)
      di - diagnostic (present only if diagnostic information available,
           also used in en entries)
      ct - the amount of time a message has spent in the queue (LOG_QUEUE_TIME=1, 
      also used in en entries)

      以下是 co 項目範例:


      <co ts="2004-12-08T00:38:28.41" pi="1074b3.61.281" sc="tcp_local" dr="+"
      ac="O" tr="TCP|209.55.107.55|25|209.55.107.104|33469" ap="SMTP"/>

      標頭 (he) 項目有以下屬性:


      ts - time stamp (always present, also used in en entries)
      no - node name (present if LOG_NODE=1, also used in en entries)
      pi - process id (present if LOG_PROCESS=1, also used in en entries)
      va - header line value (always present)

      以下是 he 項目範例:


      <he ts="2004-12-08T00:38:31.41" pi="1074b3.61.281" va="Subject: foo"/>

Procedure關聯記錄訊息項目

  1. 編輯 MTA 選項檔案。

  2. LOG_MESSAGE_ID 選項設定為 1。

    預設值為 0,表示不將郵件 ID 儲存在 mail.log 檔案中。

Procedure記錄郵件在佇列中已花費的時間量

  1. 編輯 MTA 選項檔案。

  2. LOG_QUEUE_TIME 選項設定為 1。

    此選項記錄郵件在佇列中已花費的時間量。佇列時間會以秒為單位的整數值加以記錄,並緊跟在非 XML 格式記錄中的應用程式資訊字串之後顯示。此值在 XML 格式記錄中的屬性名稱為 qt

Procedure識別郵件投遞重試

  1. 編輯 MTA 選項檔案。

  2. LOG_FILENAME 選項設定為 1。

    此選項便於立即發現特定郵件檔案投遞的重試次數。此選項也有助於瞭解是否將傳送給多個收件者的郵件分隔為磁碟上獨立的郵件檔案副本。

Procedure記錄 TCP/IP 連線

  1. 編輯 MTA 選項檔案。

  2. 設定 LOG_CONNECTION 選項。

    此選項可使 MTA 記錄 TCP/IP 連線以及郵件通訊。依預設,連線記錄項目被寫入 mail.log* 檔案。(可選擇) 還可以將連線記錄項目寫入 connection.log* 檔案。請參閱 SEPARATE_CONNECTION_LOG 選項,以取得更多資訊。

Procedure將項目寫入至 connection.log 檔案

  1. 編輯 MTA 選項檔案。

  2. SEPARATE_CONNECTION_LOG 選項設定為 1。

    使用此選項以指定將連線記錄項目改為寫入 connection.log 檔案。預設值為 0 將導致連線記錄被儲存在 MTA 記錄檔中。

Procedure按照程序 ID 關聯記錄訊息

  1. 編輯 MTA 選項檔案。

  2. 設定 LOG_PROCESS 選項。

    LOG_CONNECTION 結合使用時,此選項會依程序 ID 啟用連線項目與郵件項目的對應關係。

Procedure將與使郵件排入佇列的程序相關聯的使用者名稱儲存至 mail.log 檔案

  1. 編輯 MTA 選項檔案。

  2. 設定 LOG_USERNAME 選項。

    此選項控制是否將與使郵件排入佇列的程序相關聯的使用者名稱儲存在 mail.log 檔案中。對於使用了 SASL (SMTP AUTH) 的 SMTP 提交,使用者名稱欄位將是認證使用者名稱 (帶有星號字元字首)。

25.3.4 MTA 郵件記錄範例

記錄在 MTA 郵件檔案中的確切欄位格式和欄位清單將根據記錄選項設定而有所不同。本小節顯示一些解譯典型記錄項目類型的範例。本節包含以下小節:

如需有關附加、選擇性欄位的說明,請參閱25.3.3 指定附加 MTA 記錄選項


備註 –

由於印刷排版原因,記錄檔項目被摺疊成多行顯示 — 實際記錄檔項目是每行顯示一個項目。


查閱記錄檔時請記住在典型系統上可一次處理多封郵件。通常,與特定郵件相關的項目將散佈在與同時正在處理的其他郵件相關的項目中。基本記錄資訊適用於收集通過 MTA 移動的郵件總數的大致情況。

如果要關聯有關傳送至同一收件者的同一郵件的特定項目,請啟用 LOG_MESSAGE_ID。若要將特定郵件與 MTA 佇列區域中的特定檔案相關聯,或從項目中查看特定的尚未成功移出佇列的郵件的嘗試傳送次數,請啟用 LOG_MESSAGE_ID。對於 SMTP 郵件 (經由 TCP/IP 通道處理),如果要將遠端系統的 TCP 連線與已傳送的郵件關聯,請啟用 LOG_PROCESSLOG_CONNECTION 的某些層級。

25.3.4.1 MTA 記錄範例:使用者傳送外寄郵件

以下範例顯示在本機使用者透過外寄 TCP/IP 通道向外傳送郵件 (例如傳送到網際網路) 的情況下,可能看到的記錄項目種類之相當基本的範例。在此範例中,啟用了 LOG_CONNECTION。標有 (1) 和 (2) 的行是一個項目 — 它們在實際記錄檔中將顯示在一個實體行上。同樣,標有 (3) - (7) 的行是一個項目並將顯示在一個自然行上。


範例 25–1 MTA 記錄:本機使用者傳送外寄郵件


16-Feb-2007 15:41:32.36 tcp_intranet tcp_local    EE 1    (1)
adam@sesta.com rfc822;marlowe@siroe.com marlowe@siroe.com (2)
siroe.com (siroe.com [192.160.253.66])

16-Feb-2007 15:41:34.73 tcp_local                 DE 1    (3)
adam@sesta.com rfc822;marlowe@siroe.com marlowe@siroe.com (4)
thor.siroe.com dns;thor.siroe.com

(TCP|206.184.139.12|2788|192.160.253.66|25)               (5)

(thor.siroe.com ESMTP Sendmail ready Thu 15 Feb 2007 21:37:29 -0700 [MST]) (6)

smtp;250 2.1.5 <marlowe@siroe.com>... Receipt ok           (7)
  1. 此行顯示了一 (1) 封郵件從 tcp_intranet 通道排入佇列 ESMTP (EE) 到 tcp_local 通道的日期與時間。

  2. 此行是與位於同一記錄檔 (1) 自然行的一部分,為了印刷排版方便而在此處分行顯示。此行顯示了訊息封 From: 位址 (在此範例中為 adam@sesta.com) 以及原來版本和目前版本的訊息封 To: 位址 (在此範例中為 marlowe@siroe.com)。

  3. 此行顯示了一 (1) 封郵件從 tcp_local 通道移出佇列 ESMTP (DE) 的日期與時間;亦即由 tcp_local 通道成功傳送到某遠端 SMTP 伺服器的日期和時間。

  4. 此行顯示了訊息封 From: 位址、原來訊息封 To: 位址和訊息封 To: 位址的目前格式。

  5. 此行顯示了與之建立連線的實際系統在 DNS 中被命名為 thor.siroe.com,本機傳送系統具有 IP 位址 206.184.139.12 並從連接埠 2788 傳送,遠端目標系統具有 IP 位址 192.160.253.66,並且遠端目標系統的連線連接埠是連接埠 25。

  6. 此行顯示了遠端 SMTP 伺服器的 SMTP 大標題行。

  7. 此行顯示了傳回的此位址的 SMTP 狀態代碼;250 是基本的 SMTP 成功代碼,而且,此遠端 SMTP 伺服器使用延伸的 SMTP 狀態代碼和某附加文字進行回應。


25.3.4.2 MTA 記錄範例:包含選擇性記錄欄位

此範例顯示類似範例 25–3 中所示的記錄項目,其 LOG_FILENAME=1LOG_MESSAGE_ID=1 顯示檔案名稱 (以下的 1 和 3) 和郵件 ID (以下的 2 和 4)。. 特別是郵件 ID 可用於建立項目與郵件的關聯關係。


範例 25–2 MTA 記錄 – 包含選擇性記錄欄位


16-Feb-2007 15:41:32.36 tcp_intranet tcp_local    EE 1   
adam@sesta.com rfc822;marlowe@siroe.com marlowe@siroe.com
/opt/SUNWmsgsr/data/queue/tcp_local/002/ZZf0r4i0Wdy51.01  (1)
<0JDJ00D02IBWDX00@sesta.com>                              (2)
siroe.com (siroe.com [192.160.253.66])

16-Feb-2007 15:41:34.73 tcp_local                 DE 1
adam@sesta.com rfc822;marlowe@siroe.com marlowe@siroe.com 
/opt/SUNWmsgsr/data/queue/tcp_local/002/ZZf0r4i0Wdy51.01  (3)
<0JDJ00D02IBWDX00@sesta.com>                              (4)
thor.siroe.com dns;thor.siroe.com
(TCP|206.184.139.12|2788|192.160.253.66|25)
(thor.siroe.com ESMTP Sendmail ready at Thu, 15 Feb 2007 21:37:29 -0700 [MST])
smtp;250 2.1.5 <marlowe@siroe.com>... Recipient ok

25.3.4.3 MTA 記錄範例 – 傳送至清單

此範例說明啟用 LOG_FILENAME=1LOG_MESSAGE_ID=1LOG_CONNECTION=1 向多個收件者傳送郵件。此處已將使用者 adam@sesta.com 傳送至 MTA 郵遞清單 test-list@sesta.com,此郵遞清單已延伸到 bob@sesta.comcarol@varrius.comdavid@varrius.com。請注意每個收件者的原來訊息封 To: 位址是 test-list@sesta.com,儘管目前訊息封 To: 位址是每個收件者各自的位址。請注意,儘管涉及兩個單獨的檔案 (一個針對 l 通道,而另一個針對外寄 tcp_local 通道),郵件 ID 卻始終保持一致。


範例 25–3 MTA 記錄 – 傳送至清單


20-Feb-2007 14:00:16.46 tcp_local    tcp_local    EE 1
adam@sesta.com rfc822;test-list@sesta.com carol@varrius.com 
/opt/SUNWmsgsr/data/queue/tcp_local/004/ZZf0r2D0yuej4.01 
<0JDQ00706R0FX100@sesta.com> 
siroe.com (siroe.com [192.160.253.66])

20-Feb-2007 14:00:16.47 tcp_local    tcp_local    EE 1
adam@sesta.com rfc822;test-list@sesta.com david@varrius.com
/opt/SUNWmsgsr/data/queue/tcp_local/004/ZZf0r2D0yuej4.01 
<0JDQ00706R0FX100@sesta.com> 
siroe.com (siroe.com [192.160.253.66])

20-Feb-2007 14:00:16.48 tcp_local    ims-ms       EE 1 
adam@sesta.com rfc822;test-list@sesta.com bob@ims-ms-daemon 
/opt/SUNWmsgsr/data/queue/ims-ms/008/ZZf0r2D0yuej6.01 
<0JDQ00706R0FX100@sesta.com>
siroe.com (siroe.com [192.160.253.66])

20-Feb-2007 14:00:16.68 ims-ms                    D 1 
adam@sesta.com rfc822;test-list@sesta.com bob@ims-ms-daemon 
/opt/SUNWmsgsr/data/queue/ims-ms/008/ZZf0r2D0yuej6.01 
<0JDQ00706R0FX100@sesta.com>

20-Feb-2007 14:00:17.73 tcp_local                 DE 1 
adam@sesta.com rfc822;test-list@sesta.com carol@varrius.com 
/opt/SUNWmsgsr/data/queue/tcp_local/004/ZZf0r2D0yuej4.01 
<0JDQ00706R0FX100@sesta.com> 
gw.varrius.com dns;gw.varrius.com (TCP|206.184.139.12|2788|192.160.253.66|25)
(gw.varrius.com -- SMTP Sendmail)
smtp;250 2.1.5 <carol@varrius.com >... Recipient ok

20-Feb-2007 14:00:17.75 tcp_local                 DE 1 
adam@sesta.com rfc822;test-list@sesta.com david@varrius.com 
/opt/SUNWmsgsr/data/queue/tcp_local/004/ZZf0r2D0yuej4.01 
<0JDQ00706R0FX100@sesta.com> 
gw.varrius.com dns;gw.varrius.com (TCP|206.184.139.12|2788|192.160.253.66|25)
(gw.varrius.com -- SMTP Sendmail)
smtp;250 2.1.5 <david@varrius.com>... Recipient ok

25.3.4.4 MTA 記錄 – 傳送至不存在的網域

此範例對嘗試傳送至不存在的網域 (此處為 very.bogus.com) 進行了說明;亦即傳送到未被 MTA 的重寫規則注意到其不存在的、並且被 MTA 比對到外寄 TCP/IP 通道的網域名稱。此範例假設 MTA 選項設定為 LOG_FILENAME=1LOG_MESSAGE_ID=1

TCP/IP 通道在 DNS 中執行並檢查網域名稱時,DNS 傳回錯誤,指示該名稱不存在。請注意「拒絕」項目 (R),如 (5) 中所示,並且 DNS 傳回一個錯誤 (這不是一個合法網域名稱),如 (6) 中所示。

由於提交郵件後位址被拒絕,MTA 將產生退回郵件給原寄件者。MTA 將讓新拒絕郵件在原寄件者 (1) 中排入佇列,並在刪除原外寄郵件 ((5) 中所示的 R 項目) 之前,將一份副本傳送給 Postmaster (4)。

通知郵件 (如退回郵件) 具有空訊息封 From: 位址,如 (2) 和 (8) 中所示,其中訊息封 From:欄位顯示為空白。由 MTA 產生的退回郵件之初始排入佇列顯示了新通知郵件的郵件 ID,其後跟隨原來郵件的郵件 ID (3)。(此類資訊對於 MTA 並不總是可用,但可用於記錄時,它允許將對應於外寄失敗的郵件的記錄項目與對應於結果通知郵件的記錄項目相關聯。)此類通知郵件在程序通道中排入佇列,該通道轉而又將這些郵件在相應的目標通道中排入佇列 (7)。


範例 25–4 MTA 記錄 – 傳送至不存在的網域


20-Feb-2007 14:17:07.77 tcp_intranet tcp_local    E 1 
adam@sesta.com rfc822;user@very.bogus.com user@very.bogus.com 
/opt/SUNWmsgsr/data/queue/tcp_local/008/ZZf0r2D0CVaL0.00 
<0JDQ00903RS89T00@sesta.com>
siroe.com (siroe.com [192.160.253.66])

20-Feb-2007 14:17:08.24 tcp_local    process      E 1       (1)
rfc822;adam@sesta.com adam@sesta.com                        (2)
/opt/SUNWmsgsr/data/queue/process/ZZf0r2D0CVbR0.00 
<0JDQ00904RSK9Z00@sesta.com>,<0JDQ00903RS89T00@sesta.com>   (3)
tcp-daemon.mailhost.sesta.com

20-Feb-2007 14:17:08.46 tcp_local    process      E 1       (4)
rfc822;postmaster@sesta.com postmaster@sesta.com 
/opt/SUNWmsgsr/data/queue/process/ZZf0r2D0CVbR1.00 
<0JDQ00906RSK9Z00@sesta.com>,<0JDQ00903RS89T00@sesta.com> 
tcp-daemon.mailhost.sesta.com

20-Feb-2007 14:17:08.46 tcp_local                 R 1       (5)
adam@sesta.com rfc822;user@very.bogus.com user@very.bogus.com 
/opt/SUNWmsgsr/data/queue/tcp_local/008/ZZf0r2D0CVaL0.00
<0JDQ00903RS89T00@sesta.com>  
Illegal host/domain name found                              (6)
(TCP active open: Failed gethostbyname() on very.bogus.com, resolver errno = 1)

20-Feb-2007 14:17:09.21 process      ims-ms       E 3       (7)
rfc822;adam@sesta.com adam@ims-ms-daemon                    (8)
/opt/SUNWmsgsr/data/queue/ims-ms/018/ZZf0r2D0CVbS1.00 
<0JDQ00904RSK9Z00@sesta.com> 
process-daemon.mailhost.sesta.com

20-Feb-2007 14:17:09.72 process      ims-ms       E 3  
rfc822;postmaster@sesta.com postmaster@ims-ms-daemon
/opt/SUNWmsgsr/data/queue/ims-ms/014/ZZf0r2D0CVbS2.00 
<0JDQ00906RSK9Z00@sesta.com> 
process-daemon.mailhost.sesta.com

20-Feb-2007 14:17:09.73 ims-ms                    D 3  
rfc822;adam@sesta.com adam@ims-ms-daemon 
/opt/SUNWmsgsr/data/queue/ims-ms/018/ZZf0r2D0CVbS1.00 
<0JDQ00904RSK9Z00@sesta.com>

20-Feb-2007 14:17:09.84 ims-ms                    D 3 
rfc822;postmaster@sesta.com postmaster@ims-ms-daemon
/opt/SUNWmsgsr/data/queue/ims-ms/014/ZZf0r2D0CVbS2.00 
<0JDQ00906RSK9Z00@sesta.com>

25.3.4.5 MTA 記錄範例 – 傳送至不存在的遠端使用者

此範例對嘗試傳送至遠端系統上的不正確位址進行了說明。此範例假設 MTA 選項設定為 LOG_FILENAME=1LOG_MESSAGE_ID=1,並且通道選項設定為 LOG_BANNER=1LOG_TRANSPORTINFO=1。請注意 (1) 中所示的拒絕項目 (R)。但與範例 25–4 中的拒絕項目相比,請注意此處的拒絕項目顯示已連線至遠端系統,並且顯示遠端 SMTP 伺服器發出的 SMTP 錯誤代碼 (2) 和 (3)。(2) 中所示資訊的內容是設定通道選項 LOG_BANNER=1LOG_TRANSPORTINFO=1 的結果。


範例 25–5 MTA 記錄 – 傳送至不存在的遠端使用者


26-Feb-2007 13:56:35.16 tcp_intranet tcp_local    EE 1 
adam@sesta.com rfc822;nonesuch@siroe.com nonesuch@siroe.com 
/opt/SUNWmsgsr/data/queue/tcp_local/000/ZZf0s690a3mf2.01 
<0JE100J08UU24H00@sesta.com> 
siroe.com (siroe.com [192.160.253.66])

26-Feb-2007 13:56:35.19 tcp_local    process      E 1  
rfc822;adam@sesta.com adam@sesta.com 
/opt/SUNWmsgsr/data/queue/process/ZZf0s690a3ml2.00 
<0JE100J09UUB4N00@sesta.com>,<0JE100J08UU24H00@sesta.com> 
tcp-daemon.mailhost.sesta.com

26-Feb-2007 13:56:35.20 tcp_local    process      E 1  
rfc822;postmaster@sesta.com postmaster@sesta.com 
/opt/SUNWmsgsr/data/queue/process/ZZf0s690a3ml3.00 
<0JE100J0BUUB4N00@sesta.com>,<0JE100J08UU24H00@sesta.com>
tcp-daemon.mailhost.sesta.com

26-Feb-2007 13:56:35.20 tcp_local                 RE 1          (1)
adam@sesta.com rfc822;nonesuch@siroe.com nonesuch@siroe.com 
/opt/SUNWmsgsr/data/queue/tcp_local/000/ZZf0s690a3mf2.01 
<0JE100J08UU24H00@sesta.com> 
thor.siroe.com dns;thor.siroe.com 
(TCP|206.184.139.12|2788|192.160.253.66|25)                     (2)
(thor.siroe.com -- Server ESMTP [Sun Java System Messaging 
Server 6.2-8.01 [built Feb 16 2007]]) 
smtp;550 5.1.1 unknown or illegal alias: nonesuch@siroe.com     (3)

26-Feb-2007 13:56:35.62 process      ims-ms       E 4  
rfc822;adam@sesta.com adam@ims-ms-daemon 
/opt/SUNWmsgsr/data/queue/ims-ms/003/ZZf0s690a3mm5.00 
<0JE100J09UUB4N00@sesta.com> 
process-daemon.mailhost.sesta.com

26-Feb-2007 13:56:36.07 process      ims-ms       E 4  
rfc822;postmaster@sesta.com postmaster@ims-ms-daemon 
/opt/SUNWmsgsr/data/queue/ims-ms/016/ZZf0s690a3nm7.01 
<0JE100J0BUUB4N00@sesta.com> 
process-daemon.mailhost.sesta.com

26-Feb-2007 13:56:35.83 ims-ms                    D 4  
rfc822;adam@sesta.com adam@ims-ms-daemon 
/opt/SUNWmsgsr/data/queue/ims-ms/003/ZZf0s690a3mm5.00 
<0JE100J09UUB4N00@sesta.com>

26-Feb-2007 13:56:36.08 ims-ms                    D 4  
rfc822;postmaster@sesta.com postmaster@ims-ms-daemon 
/opt/SUNWmsgsr/data/queue/ims-ms/016/ZZf0s690a3nm7.01 
<0JE100J0BUUB4N00@sesta.com>

25.3.4.6 MTA 記錄範例 – 拒絕遠端提交郵件的嘗試

此範例對 MTA 拒絕遠端提交郵件的嘗試時所產生的記錄檔項目種類進行了說明。(此範例假設未啟用選擇性 LOG_* 選項,因此項目中僅記錄了基本欄位。請特別注意,啟用 LOG_CONNECTION 選項將導致在此類 J 項目中產生附加資訊欄位。)這種情況下,此範例是針對已透過 ORIG_SEND_ACCESS 對映設定了 SMTP 轉送阻斷 (請參閱18.7 配置 SMTP 轉送封鎖) 的 MTA,該對映包含:

ORIG_SEND_ACCESS

! ...numerous entries omitted...
!
   tcp_local|*|tcp_local|*   $NRelaying$ not$ permitted

其中,alan@very.bogus.com 不是內部位址。因此遠端使用者 harold@varrius.com 嘗試透過 MTA 系統轉送到遠端使用者 alan@very.bogus.com 被拒絕。


範例 25–6 MTA 記錄 – 拒絕遠端提交郵件的嘗試


26-Feb-2007 14:10:06.89 tcp_local                 JE 0  (1)
harold@varrius.com rfc822; alan@very.bogus.com                 (2)
530 5.7.1 Relaying not allowed: alan@very.bogus.com            (3)
  1. 此記錄顯示了 MTA 拒絕遠端提交郵件嘗試的日期與時間。拒絕以 J 記錄表示。(MTA 通道嘗試傳送遭拒絕的郵件之情況以 R 記錄表示,如範例 25–4範例 25–5 中所示。


    備註 –

    寫入至記錄的最後一個 J 記錄將具有指示,該指示表明它是指定的階段作業中的最後一個。同樣,目前版本 Messaging Server 未對 J 記錄設定數量限制。


  2. 顯示了嘗試的訊息封 From: 和 To: 位址。在此例中無可用的原來訊息封 To: 資訊,因此該欄位為空白。

  3. 此項目包括 MTA 發給遠端 (嘗試的寄件者) 的 SMTP 錯誤訊息。


25.3.4.7 MTA 記錄範例 – 多次傳送嘗試

此範例對由於無法在第一次嘗試中傳送郵件,因此 MTA 多次嘗試傳送該郵件時所產生的記錄檔項目種類進行了說明。此範例假設選項設定為 LOG_FILENAME=1LOG_MESSAGE_ID=1


範例 25–7 MTA 記錄 – 多次傳送嘗試


26-Feb-2007 14:38:16.27 tcp_intranet tcp_local    EE 1           (1)
adam@sesta.com rfc822;user@some.org user@some.org 
/opt/SUNWmsgsr/data/queue/tcp_local/001/ZZf0s690kN_y0.00 
<0JE100L05WRJIC00@sesta.com>

26-Feb-2007 14:38:16.70 tcp_local                 Q 1                    (2)
adam@sesta.com rfc822;user@some.org user@some.org
/opt/SUNWmsgsr/data/queue/tcp_local/001/ZZf0s690kN_y0.00                 (3)
<0JE100L05WRJIC00@sesta.com> 
TCP active open: Failed connect() 192.1.1.1:25  Error: no route to host  (4)

...several hours worth of entries...

26-Feb-2007 16:58:11.20 tcp_local                 Q 1                    (5)
adam@sesta.com rfc822;user@some.org user@some.org
/opt/SUNWmsgsr/data/queue/tcp_local/001/ZYf0s690kN_y0.01                 (6)
<0JE100L05WRJIC00@sesta.com> 
TCP active open: Failed connect() 192.1.1.1:25    Error: no route to host

...several hours worth of entries...

26-Feb-2007 19:15:12.11 tcp_local                 Q 1     
adam@sesta.com rfc822;user@some.org user@some.org
/opt/SUNWmsgsr/data/queue/tcp_local/001/ZXf0s690kN_y0.00                  (7)
<0JE100L05WRJIC00@sesta.com> 
TCP active open: Failed connect() 192.1.1.1:25  Error: Connection refused (8)

...several hours worth of entries...

26-Feb-2007 22:41:12.63 tcp_local                 DE 1                     (9)
adam@sesta.com rfc822;user@some.org user@some.org
/opt/SUNWmsgsr/data/queue/tcp_local/001/ZXf0s690kN_y0.00                 
<0JE100L05WRJIC00@sesta.com> 
host.some.org dns;host.some.org (TCP|206.184.139.12|2788|192.1.1.1|25)
(All set, fire away)
smtp;250 2.1.5 <user@some.org >... Recipient ok
  1. 郵件進入 tcp_internal 通道 — 可能來自 POP 或 IMAP 用戶端,也可能來自使用 MTA 做為 SMTP 轉送主機組織中的其他主機;MTA 將其在 tcp_local 外寄通道中排入佇列。

  2. 第一次遞送嘗試失敗,如 Q 項目所示。

  3. ZZ* 檔案名稱可以看出這是第一次傳送嘗試。

  4. TCP/IP 套裝軟體找不到至遠端的路由時,此遞送嘗試將失敗。與範例 25–4 相反,DNS 不反對目標網域名稱 some.org;而「no route to host」(未路由至主機) 錯誤指示在傳送端和接收端之間存在網路問題。

  5. 下一次 MTA 做為定期工作執行時,它再次嘗試遞送,但再次失敗。

  6. 此檔案名稱現在是 ZY*,表示這是第二次嘗試。

  7. 對於第三次失敗嘗試,檔案名稱是 ZX*

  8. 下一次定期工作再次嘗試遞送,遞送失敗,儘管這一次 TCP/IP 套裝軟體未對無法連通遠端 SMTP 伺服器表示不滿,但其實是遠端 SMTP 伺服器不接受連線。(可能遠端修正了其網路問題,但尚未備份其 SMTP 伺服器 — 或其 SMTP 伺服器正忙於處理其他郵件而無法在 MTA 嘗試連線時接受連線。)

  9. 最終郵件被移出佇列。


25.3.4.8 MTA 記錄 – 透過轉換通道路由內送的郵件

此範例對透過轉換通道路由郵件的情況進行了說明。假定此站點具有 CONVERSIONS 對映表,如:

CONVERSIONS
   IN-CHAN=tcp_local;OUT-CHAN=ims-ms;CONVERT Yes

此範例假設選項設定為 LOG_FILENAME=1LOG_MESSAGE_ID=1


範例 25–8 MTA 記錄 – 透過轉換通道路由內送的郵件


26-Feb-2007 15:31:04.17 tcp_local    conversion   EE 1   (1)
amy@siroe.edu rfc822;bert@sesta.com bert@ims-ms-daemon 
/opt/SUNWmsgsr/data/queue/conversion/ZZf0s090wFwx2.01 
<0JE100206Z7J5F00@siroe.edu>

26-Feb-2007 15:31:04.73 conversion   ims-ms       E 1           (2)
amy@siroe.edu rfc822;bert@sesta.com bert@ims-ms-daemon 
/opt/SUNWmsgsr/data/queue/ims-ms/007/ZZf0s090wMwq1.00 
<0JE100206Z7J5F00@siroe.edu>

26-Feb-2007 15:31:04.73 conversion                D 1           (3)
amy@siroe.edu rfc822;bert@sesta.com bert@ims-ms-daemon 
/opt/SUNWmsgsr/data/queue/conversion/ZZf0s090wFwx2.01 
<0JE100206Z7J5F00@siroe.edu>

26-Feb-2007 15:31:04.73 ims-ms                    D 1           (4)
amy@siroe.edu rfc822;bert@sesta.com bert@ims-ms-daemon 
/opt/SUNWmsgsr/data/queue/ims-ms/007/ZZf0s090wMwq1.00 
<0JE100206Z7J5F00@siroe.edu>
  1. 來自外部使用者 amy@siroe.edu 的郵件傳入,其收件者位址為 ims-ms 通道收件者 bert@sesta.com 的位址。但是,CONVERSIONS 對映項目使郵件最初在轉換通道中排入佇列 (而不是直接進入 ims-ms 通道)。

  2. 轉換通道執行郵件,並使郵件在 ims-ms 通道中排入佇列。

  3. 然後轉換通道可將郵件移出佇列 (刪除舊郵件檔案)。

  4. 最後,ims-ms 通道將郵件移出佇列 (傳送該郵件)。


25.3.4.9 MTA 記錄範例:外寄連線記錄

此範例說明透過 LOG_CONNECTION=3 啟用連線記錄後外寄郵件的記錄輸出。此範例中還假設了 LOG_PROCESS=1LOG_MESSAGE_ID=1LOG_FILENAME=1。 此範例顯示了使用者 adam@sesta.com 將同一郵件 (請注意每個郵件副本的郵件 ID 都相同) 傳送給三個收件者 bobby@hosta.sesta.comcarl@hosta.sesta.comdave@hostb.sesta.com 的情況。此範例假設郵件從標有 (此類通道通常都有標記) single_sys 通道關鍵字的 tcp_local 通道外寄。因此,如 (1)、(2) 和 (3) 中所示,系統將在磁碟上為不同主機名稱的每組收件者分別建立郵件檔案,其中收件者 bobby@hosta.sesta.comcarl@hosta.sesta.com 儲存在同一郵件檔案中,而收件者 dave@hostb.sesta.com 儲存在其他郵件檔案中。


範例 25–9 MTA 記錄:外寄連線記錄


28-Feb-2007 09:13:19.18 409f.3.1 tcp_intranet tcp_local    EE 1 
adam@sesta.com rfc822;bobby@hosta.sesta.com bobby@hosta.sesta.com
/opt/SUNWmsgsr/data/queue/tcp_local/000/ZZf0s4g0G2Zt0.00            (1)
<0JE500C0371HRJ00@sesta.com> 
siroe.com (siroe.com [192.160.253.66])

28-Feb-2007 09:13:19.18 409f.3.1 tcp_intranet tcp_local    EE 1 
adam@sesta.com rfc822;carl@hosta.sesta.com carl@hosta.sesta.com
/opt/SUNWmsgsr/data/queue/tcp_local/000/ZZf0s4g0G2Zt0.00            (2)
<0JE500C0371HRJ00@sesta.com> 
siroe.com (siroe.com [192.160.253.66])

28-Feb-2007 09:13:19.19 409f.3.2 tcp_intranet tcp_local    EE 1 
adam@sesta.com rfc822;dave@hostb.sesta.com dave@hostb.sesta.com
/opt/SUNWmsgsr/data/queue/tcp_local/004/ZZf0s4g0G2Zt1.00            (3)
<0JE500C0371HRJ00@sesta.com> 
siroe.com (siroe.com [192.160.253.66])

28-Feb-2007 09:13:19.87 40a5.2.0 tcp_local    -  O                  (4)
TCP|206.184.139.12|5900|206.184.139.66|25
SMTP/hostb.sesta.com/mailhub.sesta.com                              (5)

28-Feb-2007 09:13:20.23 40a5.3.4 tcp_local    -  O                  (6)
TCP|206.184.139.12|5901|206.184.139.70|25
SMTP/hosta.sesta.com/hosta.sesta.com                                (7)

28-Feb-2007 09:13:20.50 40a5.2.5 tcp_local                 DE 1 
adam@sesta.com rfc822;bobby@hosta.sesta.com bobby@hosta.sesta.com
/opt/SUNWmsgsr/data/queue/tcp_local/000/ZZf0s4g0G2Zt0.00 
<0JE500C0371HRJ00@sesta.com> 
hosta.sesta.com dns;hosta.sesta.com                                 (8)
(TCP|206.184.139.12|5901|206.184.139.70|25)
(hosta.sesta.com -- Server ESMTP [Sun Java System Messaging Server 
6.2-8.01 [built Feb 16 2007]]) 
smtp;250 2.1.5 bobby@hosta.sesta.com and options OK.

28-Feb-2007 09:13:20.50 40a5.2.5 tcp_local                 DE 1 
adam@sesta.com rfc822;carl@hosta.sesta.com carl@hosta.sesta.com
/opt/SUNWmsgsr/data/queue/tcp_local/000/ZZf0s4g0G2Zt0.00 
<0JE500C0371HRJ00@sesta.com> 
hosta.sesta.com dns;hosta.sesta.com
(TCP|206.184.139.12|5901|206.184.139.70|25)
(hosta.sesta.com -- Server ESMTP [Sun Java System Messaging Server 
6.2-8.01 [built Feb 16 2007]]) 
smtp;250 2.1.5 carl@hosta.sesta.com and options OK.

28-Feb-2007 09:13:20.50 40a5.2.6 tcp_local    -  C                  (9)
TCP|206.184.139.12|5901|206.184.139.70|25
SMTP/hosta.sesta.com/hosta.sesta.com

28-Feb-2007 09:13:21.13 40a5.3.7 tcp_local                 DE 1 
adam@sesta.com rfc822;dave@hostb.sesta.com dave@hostb.sesta.com
/opt/SUNWmsgsr/data/queue/tcp_local/004/ZZf0s4g0G2Zt1.00 
<0JE500C0371HRJ00@sesta.com> 
mailhub.sesta.com dns;mailhub.sesta.com
(TCP|206.184.139.12|5900|206.184.139.66|25)
(mailhub.sesta.com ESMTP Sendmail ready at Tue, 27 Feb 2007 22:19:40 GMT) 
smtp;250 2.1.5 <dave@hostb.sesta.com>... Recipient ok

28-Feb-2007 09:13:21.33 40a5.3.8 tcp_local    -  C                  (10)
TCP|206.184.139.12|5900|206.184.139.66|25
SMTP/hostb.sesta.com/mailhub.sesta.com
  1. 郵件已排入佇列準備傳送給第一個收件者...

  2. ....準備傳送給第二個收件者...

  3. ....準備傳送給第三個收件者。

  4. 設定 LOG_CONNECTION=3 將使 MTA 寫入此項目。減號 - 表示此項目指外寄連線。O 表示此項目對應於連線的開啟作業。同時請注意,儘管此開啟作業由執行緒 2 和執行緒 3 來執行,但由於多執行緒的 TCP/IP 通道使用同一程序來開啟這些單獨的連線,因此此處的程序 ID 相同 (均為 40a5)。

  5. 由於要連線到兩個不同的遠端系統,因此不同執行緒中的多執行緒 SMTP 用戶端將開啟與每個系統的連線:第一個顯示在本項目中,第二個顯示在 7 中。項目的此部分顯示了傳送和目標 IP 號碼以及連接埠號,並顯示了初始主機名稱和透過進行 DNS 查詢找到的主機名稱。在 SMTP/initial-host/dns-host 陳述式中,請注意初始主機名稱和在初始主機名稱上執行 DNS MX 記錄查詢後所使用的主機名稱之顯示:mailhub.sesta.com 顯然是 hostb.sesta.com 的 MX 伺服器。

  6. 多執行緒的 SMTP 用戶端在不同的執行緒 (儘管程序相同) 中開啟與第二個系統的連線。

  7. 由於要連線到兩個不同的遠端系統,不同執行緒中的多執行緒 SMTP 用戶端將開啟與每個系統的連線 — 第二個顯示在本項目中,第一個顯示在上面的 5 中。項目的此部分顯示了傳送和目標 IP 號碼以及連接埠號,並顯示了初始主機名稱和透過進行 DNS 查詢找到的主機名稱。在此範例中,可以明顯看到系統 hosta.sesta.com 本身可直接接收郵件。

  8. 除了產生特定連線項目外,LOG_CONNECTION=3 還可將連線相關資訊包含在一般郵件項目中,如此處所示。

  9. 設定 LOG_CONNECTION=3 將使 MTA 寫入此項目。所有郵件 (此範例中為 bobby 和 carl 郵件) 皆移出佇列後,系統將關閉連線,如此項目中的 C 所示。

  10. 連線 mailhub.sesta.com 目前已關閉,郵件傳遞 (此範例中為 dave) 已完成。


25.3.4.10 MTA 記錄範例:內送連線記錄

此範例說明透過 LOG_CONNECTION=3 啟用連線記錄後,內送 SMTP 郵件的記錄輸出。


範例 25–10 MTA 記錄 – 內送連線記錄


28-Feb-2007 11:50:59.10 tcp_local + O                  (1)
TCP|206.184.139.12|25|192.160.253.66|1244 SMTP         (2)

28-Feb-2007 11:51:15.12 tcp_local    ims-ms    EE 1 
service@siroe.com rfc822;adam@sesta.com adam@ims-ms-daemon 
THOR.SIROE.COM (THOR.SIROE.COM [192.160.253.66])       (3) 

28-Feb-2007 11:51:15.32 ims-ms                  D 1 
service@siroe.com rfc822;adam@sesta.com adam@ims-ms-daemon

28-Feb-2007 11:51:15.66 tcp_local + C                  (4)
TCP|206.184.139.12|25|192.160.253.66|1244 SMTP
  1. 遠端系統開啟一個連線。字元 O 表示此項目與連線的開啟作業有關;字元 + 表示此項目與內送連線有關。

  2. 顯示連線的 IP 號碼和連接埠。在此項目中,接收系統 (建立記錄檔項目的系統) 的 IP 位址為 206.184.139.12 並且連線到連接埠 25;傳送系統的 IP 位址為 192.160.253.66 並從連接埠 1244 傳送。

  3. 在從內送 TCP/IP 通道 (tcp_local) 排入佇列到 ims-ms 通道收件者的郵件項目中,請注意由於啟用了 LOG_CONNECTION=3 而包含預設值以外的資訊。特別是,傳送系統在其 HELO 或 EHLO 線上使用的名稱、在連線 IP 號碼上以 DNS 反向查詢找到的傳送系統名稱,以及傳送系統的 IP 位址均被記錄下來;請參閱第 12 章, 配置通道定義運作方式。

  4. 內送連線已關閉。字元 C 表示此項目與連線的關閉作業有關;字元 + 表示此項目與內送連線有關。


25.3.5 啟用派送程式除錯

派送程式錯誤和除錯輸出 (如果啟用) 會寫入 MTA 記錄目錄中的 dispatcher.log 檔案。在 msg-svr-base/config/dispatcher.cnf 檔案中指定派送程式配置資訊。預設配置檔案在安裝時建立,您無需進行變更即可使用。但是,如果出於安全性或效能原因,需要修改預設配置檔案,則可以透過編輯 dispatcher.cnf 檔案來完成修改。

表 25–5 派送程式除錯位元

位元 

 

十六進制值 

十進制值 

用法 

 

x 00001 

基本服務派送程式主模組除錯。 

x 00002 

附加服務派送程式主模組除錯。 

x 00004 

服務派送程式配置檔案記錄。 

x 00008 

基本服務派送程式其他除錯。 

x 00010 

16 

基本服務除錯。 

x 00020 

32 

附加服務除錯。 

x 00040 

64 

程序相關服務除錯。 

x 00080 

128 

未使用。 

x 00100 

256 

基本服務派送程式和程序通訊除錯。 

x 00200 

512 

附加服務派送程式和程序通訊除錯。 

10 

x 00400 

1024 

資料封包層級通訊除錯。 

11 

x 00800 

2048 

未使用。 

12 

x 01000 

4096 

基本工作程序除錯。 

13 

x 02000 

8192 

附加工作程序除錯。 

14 

x 04000 

16384 

其他工作程序除錯,特別是連線切換。 

15 

x 08000 

32768 

未使用。 

16 

x 10000 

65536 

基本工作程序到服務派送程式 I/O 除錯。 

17 

x 20000 

131072 

附加工作程序到服務派送程式 I/O 除錯。 

20 

x 100000 

1048576 

基本統計資料除錯。 

21 

x 200000 

2097152 

附加統計資料除錯。 

24 

x 1000000 

16777216 

將 PORT_ACCESS 拒絕記錄到 dispatcher.log 檔案中。 

Procedure啟用派送程式錯誤除錯輸出

  1. 編輯 dispatcher.cnf 檔案。

  2. DEBUG 選項設定為 -1。

    還可以設定邏輯變數或環境變數 IMTA_DISPATCHER_DEBUG (UNIX),該變數以十六進位將 32 位元除錯遮罩定義為值 FFFFFFFF。上表說明每個位元的意義。

Procedure設定派送程式參數 (Solaris)

派送程式配置檔案中提供的派送程式服務將影響各種系統參數的需求。系統的堆疊大小 (datasize) 必須能夠滿足派送程式的執行緒堆疊使用需求。

  1. 若要顯示 堆疊大小 (亦即預設 datasize),請執行以下指令之一:

    csh 指令:


    # limit
    

    ksh 指令


    # ulimit -a
    

    Solaris 公用程式


    # sysdef
    
  2. 對每個派送程式服務計算 STACKSIZE*MAX_CONNS,然後把每項服務的計算值相加。系統的堆疊大小必須至少是以上數值的兩倍。