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

编译 MTA 配置

修改 MTA 配置文件(例如 imta.cnfmappingsaliasesoption.dat)之后,必须重新编译配置。该命令可以将配置文件编译成共享内存中的单个映像(在 UNIX 中)或动态链接库(在 NT 中)。

经过编译的配置中包含静态和动态可重新装入的部分。如果更改了动态部分,并且运行了 imsimta reload,则正在运行的程序将重新装入动态数据。动态部分为映射表、别名和查找表。

编译配置信息的主要原因是为了提高性能。使用经过编译的配置的另一个功能是可以更方便地测试配置更改,因为使用编译后的配置时,配置文件本身不会处于“活动”状态。

当 MTA 组件(例如通道程序)必须读取配置文件时,它首先会查看经过编译的配置是否存在。如果存在,则将映像附加到正在运行的程序。如果映像附加操作失败,则 MTA 会返回使用原先读取文本文件的方法。

如果对 reverseforward 或通用数据库进行了更改,可执行命令 imsimta reload 使更改生效。如果对 imta.cnfmappings 文件、aliasesconversionsoption.dat 文件进行了更改,而这些更改不会影响 job_controller,则应先执行 imsimta cnbuild,再执行 imsimta restart smtp。如果对 dispatcher.cnf 进行了更改,则需要执行 imsimta restart dispatcher。如果对编译后的配置中的配置文件进行了更改,并且这些更改会影响作业控制器但不会影响 SMTP 服务器,则通常应执行以下命令:imsimta cnbuildimsimta restart job_controller

如果对编译后的配置中的配置文件进行了更改,而这些更改会影响 SMTP 服务器和作业控制器,则应执行以下命令:


imsimta cnbuild
imsimta restart smtp 
imsimta restart job_controller

(有关这些命令的详细信息,请参见 《Sun Java System Messaging Server 6 2005Q4 Administration Reference》中的“MTA Commands”。)

必须重新启动作业控制器的其他实例有:

MTA 配置包括 imta.cnf 及其包含的所有文件(如 internet.rules)、alias 文件、mappings 文件、conversions 文件、option.dat 文件(以及上述所有文件中包含的所有文件)、imta.filter 以及 reverseforward 和通用数据文件,还可能包括一些 configutil 参数。

请注意,以上对 imta.cnf 进行的所有更改(如添加/更改通道定义中的关键字)还需要 imsimta cnbuild - 这是基本要求,无论是否需要重新启动作业控制器。

除非因上述条件之一必须重新启动作业控制器,否则应尽量避免重新启动,特别是在队列中有大量邮件的情况下。

建议不要在营运系统中使用 imsimta refresh 命令,因为通常没有必要重新启动作业控制器,而且重新启动作业控制器将会重置邮件重试次数、延迟的通知邮件、退回的邮件等。