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

Procedure创建新通道

步骤
  1. 创建名为 tcp_siroe-daemon 的新通道并为 pool 关键字添加新值。

    /msg_svr_base/config/imta.cnf 的通道块部分创建通道。该通道与常规外发 tcp_* 通道应具有相同的通道关键字。通常,该通道是处理所有出站 (Internet) 通信的 tcp_local 通道。由于 siroe.com 在 Internet 上,因此这就是要模仿的通道。新通道可能类似于如下所示:

    tcp_siroe smtp nomx single_sys remotehost inner allowswitchchannel     \
    dentnonenumeric subdirs 20 maxjobs 7 pool SMTP_SIROE maytlsserver      \
    maysaslserver saslswitchchannel tcp_auth missingrecipientpolicy 0      \    
    tcp_siroe-daemon

    注意新关键字-值对池 SMTP_SIROE。它指定传送到此通道的邮件将仅使用 SMTP_SIROE 池的计算机资源。另请注意,新通道的前后都需要留一个空白行。

  2. 将两个重写规则添加到 imta.cnf 文件的重写规则部分以将发往 siroe.com 的电子邮件定向到新通道。

    新重写规则类似于如下所示:


    siroe.com     $U%$D@tcp_siroe-daemon
    .siroe.com      $U%$H$D@tcp_siroe-daemon
                         

    这些重写规则将发往 siroe.com(包括如 host1.siroe.com 或 hostA.host1.siroe.com 的地址)的邮件定向到正式主机名为 tcp_siroe-daemon 的新通道。这些规则的重写部分,$U%$D 和 $U%$H$D,将保留邮件的原始地址。$U 复制原始地址的用户名。% 为分隔符,@ 位于用户名和域之间。$H 复制主机/域说明的不匹配部分(位于模式中点的左侧)。$D 复制域说明的匹配部分。

  3. 定义名为 SMTP_SIROE 的新作业控制器池。

    /msg_svr_base/config/job_controller.cnf 中添加:


    [POOL=SMTP_SIROE]
    job_limit=10
                         

    这将创建名为 SMTP_SIROE 的邮件资源池,该池最多可以允许 10 个作业同时运行。确保没有在该池定义和其他项之间留下任何空白行。有关作业和池的详细信息,请参见作业控制器

  4. 重新启动 MTA。

    发出命令:imsimta refresh

    该命令重新编译配置并重新启动作业控制器和分发程序。

    本示例中,内部用户的大量电子邮件被发往名为 siroe.com 的特定远程站点。由于某些原因,siroe.com 临时不能接受外来 SMTP 连接,因此无法传送电子邮件。(此类情况并不是只在极少数情况下才发生。)

    发往 siroe.com 的电子邮件传入时,外发通道队列(通常为 tcp_local)将被无法传送的邮件填满。MTA 会尝试定期重新传送这些邮件(重试的频率和次数可以使用 backoff 关键字进行配置),正常情况下,不需要进行任何操作。

    但是,如果太多邮件阻塞在队列中,则其他邮件可能无法及时传送,因为所有通道作业都在处理积压的 siroe.com 邮件。在这种情况下,您可能希望将 siroe.com 邮件重新路由到在其自己的作业控制器池中运行的新通道(请参见作业控制器)。这将允许其他通道传送它们的邮件,而无需争用 siroe.com 邮件所使用的处理资源。下面将介绍如何创建新通道以解决此问题。