Milter 服务器可以在其自己的单独系统上、单一系统部署中与 Messaging Server 相同的系统上或两层部署中与 MTA 相同的系统上运行。如果在 MTA 和消息存储之间使用 LMTP,则必须从 MTA 中调用过滤,而不能从消息存储中调用过滤。如果在 MTA 和消息存储之间使用 SMTP,则既可以从 MTA 也可以从消息存储中调用过滤,并且 Milter 服务器可以在上述系统或单独的第三方系统中运行。
Messaging Server 支持连接到多个 Milter 服务器。如果您指定的域名转换为多个 IP 地址,系统将按照从 DNS 接收的顺序尝试所有地址,直到其中一个地址有效为止。某些 DNS 服务器允许按任意顺序返回地址,从而提供了基本的负载平衡/故障转移功能。
Milter 接口当前支持添加标题 ( SMFIF_ADDHDRS)、更改或删除标题 (SMFIF_CHGHDRS) 以及隔离邮件 (SMFIF_QUARANTINE) 功能。目前不支持更改邮件正文 (SMFIF_CHGBODY)、添加收件人 (SMFIF_ADDRCPT) 和删除收件人 (SMFIF_DELRCPT) 功能。
以下是 Milter 接口当前定义的宏:
$j 置于 Received: 标题字段 by 子句中的文本。在 Messaging Server 中,此宏由 MTA 选项 RECEIVED_DOMAIN 控制。如果未设置此选项,则使用 local 通道上的正式主机。
${client_addr} SMTP 客户端的 IP 地址,使用以点分隔的四组数值表示。仅在通过 TCP 使用 SMTP 时设置。
$i 当前邮件的队列 ID。Messaging Server 为每个会话生成一个唯一 ID;此 ID 即为 $i 宏中显示的内容。
${mail_addr} 当前事务的 MAIL FROM 地址。
${mail_host} 当前事务的 MAIL FROM 地址的主机部分。
${rcpt_addr} 当前事务的 RCPT TO 地址。
${rcpt_host} 当前 RCPT TO 地址的主机部分。