SMTP 使用连接筛选对发送邮件服务器的 IP 地址执行域名系统 (DNS) 查询。Exchange Server 2003 向 RBL 提供程序发送查询以确定发送邮件服务器的主机记录(也称为 A 记录)是否显示在 RBL 中。RBL 提供程序会检查其 DNS 记录以确定其中是否存在发送邮件服务器的主机记录。RBL 提供程序按下列格式查找该主机记录:
Reverse IP address of the sending mail server.DNS suffix of the RBL provider例如,如果发送邮件服务器的 IP 地址为 172.16.21.5 并且如果 RBL 提供程序的 DNS 后缀是 contoso.com,则 Exchange 2003 会查询 5.21.16.172.contoso.com。
RBL 提供程序返回下列响应之一: • “Host Not Found”(未找到主机):如果请求的 IP 地址没有位于 RBL 提供程序的 DNS 中,则该提供程序会返回此响应。 • “127.0.0.Status code”:如果请求的 IP 地址位于 RBL 提供程序的 DNS 中,则该提供程序会返回此响应。Status code 指出ス胬嘈汀S捎谀壳懊挥型骋坏谋曜迹 虼烁米刺 肟赡芤蚋魈峁┏绦蚨 臁?lt;/TD> 如果 IP 地址位于 RBL 提供程序的 DNS 中,则 SMTP 会返回以下错误信息以响应发送邮件服务器的 RCPT TO 命令: 550 5.x.x可以使用多个连接筛选器设置应用各筛选器的优先顺序。如果使用多个 RBL 提供程序,则按它们在 Exchange 2003 中的显示顺序逐一进行查询。如果 Exchange Server 从上一提供程序获得匹配项,则不会查询列表中的其他 RBL 提供程序。
创建连接筛选器 要在 Exchange 2003 中创建连接筛选器,请按照下列步骤操作: 1. 启动 Exchange 系统管理器。 2. 展开“全局设置”,右键单击“邮件传递”,然后单击“属性”。 3. 单击“连接筛选”选项卡。 4. 要创建连接筛选规则,请单击“添加”。 5. 在“显示名称”框中,键入连接筛选器的名称。 6. 在“提供程序的 DNS 后缀”框中,键入提供程序追加到 IP 地址中的 DNS 后缀。 7. 在“自定义要返回的错误消息”框中,键入要返回给发件人的自定义错误信息。
如果要使用默认的错误信息,请将该字段保留为空。默认的错误信息如下: IP address has been blocked by Rule name of the connection filter可以使用下列变量生成自定义消息: • %0:发送邮件服务器的 IP 地址 • %1:连接筛选器的规则名称 • %2:RBL 提供程序 例如,如果在“自定义要返回的错误消息”框中键入 The IP address %0 was rejected by the Realtime Block List provider %2.,则将生成以下自定义错误信息: The IP address IP address was rejected by the Realtime Block List provider RBL provider. 8. 要配置从 RBL 提供程序接收的、要与此连接筛选器匹配的返回状态代码,请单击“返回状态代码”,然后执行下列操作之一: • 单击“筛选规则与所有返回代码都匹配”以设置连接筛选器与所有返回状态都匹配的默认值。 • 单击“筛选规则与下列掩码匹配”,然后键入要按其进行筛选的位掩码。该位掩码基于提供程序使用的位掩码。
注意:位掩码仅检查单个值。如果设置了一个在 IP 地址显示在两个列表中的情况下返回的位掩码值,则该位掩码只匹配与两个设置同时匹配的 IP 地址。 • 单击“筛选规则与下列响应匹配”,然后键入要用其进行筛选的返回代码。 在配置完“返回状态代码”对话框中的各项后,单击“确定”。 9. 单击“确定”两次。 10. 如果收到以下消息,请单击“确定”: 默认情况下不启用连接、收件人和发件人筛选,因此对于特定的 SMTP 虚拟服务器 IP 地址分配,必须手动启用这些筛选。有关如何启用上述任一筛选类型的更多信息,请阅读其相关帮助。
连接筛选器例外 可以用下列方法创建连接筛选规则例外: • 根据 SMTP 地址允许传递邮件。 • 根据发送邮件服务器的 IP 地址允许传递邮件。 • 根据发送邮件服务器的 IP 地址拒绝传递邮件。 使用该功能可以覆盖 RBL 设置。如果要允许刚从 RBL 站点删除的域向本地域发送电子邮件,则该功能十分有用。
例如,要接受来自 contoso.com 的所有邮件,请键入 *@contoso.com。 要根据发送邮件服务器的 IP 地址允许传递邮件,请按照下列步骤操作: 1. 在“连接筛选”选项卡上,单击“接受”,然后单击“添加”。 2. 单击“一个 IP 地址”以添加一个 IP 地址,或单击“一组 IP 地址”以添加整个子网。 要根据发送邮件服务器的 IP 地址拒绝传递邮件,请按照下列步骤操作: 1. 在“连接筛选”选项卡上,单击“拒绝”,然后单击“添加”。 2. 单击“一个 IP 地址”以添加一个 IP 地址,或单击“一组 IP 地址”以添加整个子网。
Exchange Server 确定是否允许发件人计算机访问 SMTP 虚拟服务器。如果来访计算机显示在拒绝访问 SMTP 虚拟服务器的计算机的列表中,Exchange Server 就会关闭连接。要查看该列表,请按照下列步骤操作: 1. 启动 Exchange 系统管理器。 2. 依次展开“管理组”、“服务器”、Exchange Server 计算机、“协议”和“SMTP”,右键单击 SMTP 虚拟服务器,然后单击“属性”。 3. 单击“访问”选项卡,然后单击“连接”。 4. 在选中“以下列表除外”选项后,查看“计算机”列表中显示的 IP 地址。
• SMTP 命令:
EHLO domain.com • SMTP 命令:
MAIL FROM:joe@domain.com
产生的邮件流程如下: 1. Exchange Server 检查“邮件传递属性”对话框的“连接筛选”选项卡上的“全局接受”和“拒绝列表配置”设置: • 如果发件人的 IP 地址显示在“接受列表”对话框中,则将邮件标记为已通过拒绝列表和 RBL。 • 如果发件人的 IP 地址显示在“拒绝列表”对话框中,Exchange Server 就会关闭连接,然后向发件人返回以下错误信息: 550 5.7.0 Access Denied
2. Exchange Server 检查“邮件传递属性”对话框的“发件人筛选”选项卡上的“发件人”列表。如果发件人的 IP 地址显示在该列表中,Exchange Server 就会关闭连接,然后向发件人返回以下错误信息: 554 5.1.0 Sender Denied
• SMTP 命令:
RCPT TO:sally@contoso.org
产生的邮件流程如下: 1. Exchange Server 检查阻止列表服务规则的例外列表中的 SMTP 地址。要查看该列表,请单击“邮件传递属性”对话框的“连接筛选”选项卡上的“例外”。如果发件人的 SMTP 地址显示在该列表中,Exchange Server 就会绕过 RBL。 2. Exchange Server 检查收件人是否显示在“邮件传递属性”对话框的“收件人筛选”选项卡上的“收件人”列表中。如果邮件收件人显示在该列表中,Exchange Server 就会向发件人返回以下错误信息: 550 5.7.1 Requested action not taken:mailbox not available 3. Exchange Server 检查 RBL。如果发件人来自被阻止的域,Exchange Server 就会关闭连接并向发件人返回以下错误信息: 550 5.7.1 169.254.1.253 has been blocked by default. 4. Exchange Server 确定是否选中了“邮件传递属性”对话框的“收件人筛选”选项卡上的“筛选不在目录中的收件人”复选框。如果选中了该复选框,并且收件人未显示在 Active Directory 目录服务中,则 Exchange Server 会向发件人返回以下错误信息: 550 5.1.1 User unknown在这种情况下,Exchange Server 不关闭连接,并且发件人可以继续尝试向其他电子邮件地址传递邮件。
• SMTP 命令:
DATA <CRLF>.<CRLF>
注意:在该命令中,<CRLF> 表示回车与换行。通常,回车与换行是在按 Enter 键时手动生成的。
产生的邮件流程如下:
Exchange Server 检查 SMTP 地址是否显示在“邮件传递属性”对话框的“发件人筛选”选项卡上的“发件人”列表中。如果发件人显示在该列表中,Exchange Server 就会关闭连接,然后向发件人返回以下错误信息: 554 5.1.0 Sender Denied