Sun Java System Messaging Server 6.3 管理指南

11.6.5 常规数据库替换,$(...)

$(text) 格式的替换是经过特殊处理的。文本部分被用作访问特殊的常规文本数据库的密匙。该数据库包括在 msg-svr-base /config/imta_tailor 文件中通过 IMTA_GENERAL_DATABASE 选项指定的文件,此文件通常为 msg-svr-base/db/generaldb.db

如果在数据库中找到了“文本字符串”,则数据库中相应的模板将被替换。如果“文本字符串”与数据库中的任何条目均不匹配,则重写过程失败;这就相当于重写规则从未匹配过。如果替换成功,则从数据库中提取的模板将被重新扫描以进行附加替换。但是,提取的模板中的附加 $(text) 替换会被禁止以防止没完没了的递归引用。

例如,假设地址 jdoe@siroe.siroenet 与以下重写规则匹配:

.SIROENET $($H)

则将在常规数据库中查找文本字符串 siroe, 并且查找的结果(如果有)将用于重写规则的模板。假设查找 siroe 的结果为 $u%eng.siroe.com@siroenet,则模板的输出将是 jdoe@eng.siroe.com(即用户名为 jdoe,主机/域说明为 eng.siroe.com),且路由系统将是 siroenet

如果常规文本数据库存在,则它应该是全局可读的,以确保正常运行。有关更多信息,请参见10.9.1 MTA 文本数据库