一般來說 (並非總是如此),通道與兩個程式相關聯︰主要程式和從屬程式。從屬程式接受來自其他系統的郵件,並將它們增加至通道的郵件佇列。主要程式將來自通道的郵件傳送至其他系統。
例如,SMTP 通道有一個傳送郵件的主要程式和一個接收郵件的從屬程式。它們分別是 SMTP 用戶端和伺服器。
主要通道程式通常負責由 MTA 啟動的外寄連線。主要通道程式:
在出現本地處理請求時執行。
從通道郵件佇列中將郵件移出佇列。
如果目標格式與佇列中的郵件格式不同,依需要對位址、標頭和內容執行轉換。
啟動郵件的網路傳輸。
從屬通道程式通常接受送進的連線,即 MTA 回應外部請求。從屬通道程式:
在出現外部事件或本地請求時執行。
讓郵件在通道中形成佇列。目標通道透過對訊息封位址套用重寫規則來決定。
例如,圖 8–3 顯示兩個通道程式,Channel 1 和 Channel 2。Channel 1 中的從屬程式接收來自遠端系統的郵件。它查看位址,並依需要套用重寫規則,然後根據重寫位址讓郵件在相應的通道郵件佇列中形成佇列。
主要程式將郵件從佇列中移出,並啟動郵件的網路傳輸。請注意,主要程式僅能從它自己的通道佇列中將郵件移出佇列。
儘管典型的通道同時具有主程式和從屬程式,但可能會有某個通道僅包含從屬程式或主程式。例如,隨附 Messaging Server 提供的 ims-ms 通道僅包含主程式,因為此通道僅負責將郵件移出佇列至本機郵件儲存,如圖 8–4 中所示。