通常(并非总是),通道与两个程序相关联:主程序和从程序。从程序从其他系统接收邮件并将其添加至通道的邮件队列中。主程序将邮件从通道传输到其他系统。
例如,SMTP 通道有一个用来传输邮件的主程序和一个用来接收邮件的从程序。分别为 SMTP 客户机和服务器。
主通道程序通常在 MTA 已启动操作的地方负责外发的连接。主通道程序:
响应本地的处理请求时运行。
使邮件从通道邮件队列中取消排队。
如果目的地格式不同于排入的邮件的格式,则根据需要执行地址、标题和内容的转换。
启动邮件的网络传输。
从通道程序通常在 MTA 响应外部请求的地方接受外来连接。从通道程序:
响应外部事件或本地请求时运行。
将邮件排入通道。通过重写规则传送信封地址确定目标通道。
例如,图 8–3 显示了两个通道程序,Channel 1 和 Channel 2。Channel 1 中的从程序从远程系统接收邮件。它将查看地址,根据需要应用重写规则,然后基于重写的地址将邮件排入适当的通道邮件队列。
主程序从队列中将邮件取消排队并启动邮件的网络传输。请注意,主程序只能将邮件从其自己的通道队列中取消排队。
虽然典型通道有一个主程序和一个从程序,但也有可能一个通道仅包含一个从程序或一个主程序。例如,Messaging Server 提供的 ims-ms 通道仅包含一个主程序,因为此通道仅负责将邮件从队列退回到本地邮件存储系统,如图 8–4 所示。