您的站点可能具有不属于您的物理网络的“本地”客户端用户。当这些用户提交邮件时,邮件提交将从外部 IP 地址进入—例如,任意 Internet 服务提供商。如果您的用户使用可以执行 SASL 验证的邮件客户端,则可以将他们已验证的连接与任意其他外部连接区分开。然后您可以允许已验证的提交,同时拒绝未验证的中继提交尝试。在入站 SMTP 通道(通常为 tcp_local 通道)中使用 saslswitchchannel 关键字,可以区分已验证的和未验证的连接。
saslswitchchannel 关键字使用变量来指定要切换到的通道;如果 SMTP 发件人验证成功,则他们提交的邮件会被视为进入指定的切换通道。
在配置文件中,添加带有独特名称的新 TCP/IP 通道定义,例如:
tcp_auth smtp single_sys mx mustsaslserver noswitchchannel TCP-INTERNAL
此通道应不允许常规通道切换(即,此通道上应具有先前默认行中明确或隐含指定的 noswitchchannel)。此通道上应具有 mustsaslserver。
修改 tcp_local 通道,在其中添加 maysaslserver 和 saslswitchchannel tcp_auth,如以下示例所示:
tcp_local smtp mx single_sys maysaslserver saslswitchchannel \ tcp_auth switchchannel |TCP-DAEMON |
使用此配置,那些可以使用本地密码进行验证的用户所发送的 SMTP 邮件将进入 tcp_auth 通道。从内部主机发送的未验证的 SMTP 邮件仍将进入 tcp_internal。所有其他 SMTP 邮件将进入 tcp_local。