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.
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 . 注意:在该命令中, 表示回车与换行。通常,回车与换行是在按 Enter 键时手动生成的。
产生的邮件流程如下:
Exchange Server 检查 SMTP 地址是否显示在“邮件传递属性”对话框的“发件人筛选”选项卡上的“发件人”列表中。如果发件人显示在该列表中,Exchange Server 就会关闭连接,然后向发件人返回以下错误信息:
554 5.1.0 Sender Denied
•
SMTP 命令: QUIT
产生的邮件流程如下:
如果邮件满足所有条件,Exchange 就会接受该邮件。然后,Exchange Server 会将该邮件传递到相应的邮箱。