Sun Java System Messaging Server 6.3 管理指南

18.7.1 MTA 如何区分内部邮件和外部邮件

为了阻止邮件中继活动,MTA 必须首先能够区分源自您的站点的内部邮件和源自 Internet 并通过您的系统传送回 Internet 的外部邮件。您要允许的是前一类邮件,要阻止的是后一类邮件。在入站 SMTP 通道(通常为 tcp_local 通道)上使用 switchchannel 关键字(默认设置)可以实现此区分。

switchchannel 关键字通过使 SMTP 服务器查找与外来 SMTP 连接关联的实际 IP 地址来进行工作。Messaging Server 将该 IP 地址和重写规则结合使用,以区分源自域内的 SMTP 连接和来自域外的连接。然后,此信息可用于在内部和外部通信之间分离邮件通信。

下面所述的 MTA 配置为默认设置,以便服务器可以区分内部和外部邮件通信。

使用以上配置设置,域内生成的 SMTP 邮件将通过 tcp_intranet 通道进入。所有其他 SMTP 邮件将通过 tcp_local 通道进入。邮件将基于其进入的通道被区分为内部邮件和外部邮件。

这是如何起作用的?答案就是 switchchannel 关键字。该关键字被应用于 tcp_local 通道。邮件进入 SMTP 服务器时,该关键字使服务器查看与外来连接关联的源 IP 地址。服务器尝试对外来连接的真实 IP 地址进行反向指向信封重写,查找关联的通道。如果源 IP 地址匹配 INTERNAL_IP 映射表中的 IP 地址或子网,则调用该映射表的重写规则会将地址重写到 tcp_intranet 通道。

由于 tcp_intranet 通道标有 allowswitchchannel 关键字,因此邮件将被切换到 tcp_intranet 通道,并从该通道进入。如果邮件从其 IP 地址不在 INTERNAL_IP 映射表中的某个系统进入,则反向信封重写可能会重写到 tcp_local,也可能会重写到某些其他通道。但是,它不会重写到 tcp_intranet 通道,并且由于默认情况下,其他所有通道均被标记为 noswitchchannel,因此邮件也不会切换到其他通道,而是保留在 tcp_local 通道中。


注 –

请注意,使用字符串 "tcp_local" 的所有映射表或转换文件条目可能都需要根据用法更改为 "tcp_*" 或 "tcp_intranet"。