本文是关于控制垃圾邮件的LotusDomino方法的系列文章的第1部分。您将了解如何使用ConfigurationSettings文档、服务器邮件规则以及LotusDomino6及其更高版本中的入站SMTP命令和扩展来控制垃圾邮件。在技术不断变化的世界中,垃圾邮件数量的增长速度已超出了大多数电子邮件系统可以处理或控制的能力。在2004年,所有美国公司差不多要花九十万美元来抗击垃圾邮件。许多公司都曾致力于开发产品来识别和隔离可能的垃圾消息。最近的调查表明,所有电子邮件中,有40%以上被认为是垃圾邮件,平均每个电子邮件用户每天收到6条垃圾消息。这还不算很糟糕,估计到2007年,垃圾邮件会增长到63%。在SpamFilterReviewWebsite中可以找到这些统计数字和更多信息。从LotusDomino4开始,Lotus就一直在寻找阻止垃圾邮件和限制SimpleMailTransferProtocol(SMTP)消息的方法。LotusDomino4引入了多个Notes.ini参数来控制转发、入站连接和发件人的域。LotusDomino5引入了GraphicalUserInterface(GUI),Domino管理员可以在ConfigurationSettingsDocument的字段中列出值。这使Domino管理员可以更轻松地配置SMTP,同时减少了Notes用户的工作。LotusDomino6进行了很大的改进,开发了将消息与DNS黑名单(DNSBL)过滤和内容过滤进行集成的技术。本系列文章将介绍IBM创建的、用来限制服务器中垃圾邮件的数量的多种解决方案,并预先介绍了LotusDomino7中的垃圾邮件控制。在本系列文章的第1部分中,我们将查看ConfigurationServer文档中的设置和服务器邮件规则,帮助控制垃圾邮件。在第2部分中,我们将讨论Server文档中的设置和Notes.ini变量,用它们来控制垃圾邮件。我们还将大概了解一下LotusNotes/Domino7中的功能改进。本系列文章假设您是一位熟悉LotusNotes和Domino6的经验丰富的Domino管理员。Domino中的SMTP设置大多数Notes用户都希望他们的管理员能够阻止垃圾邮件,而无需自己删除或过滤掉不想要的电子邮件。阻止垃圾邮件的最有效方法是阻止消息进入您的环境中。这需要配置SMTP和Router设置。可以在ConfigurationSettings文档、Server文档和Domino服务器Notes.ini文件中进行这两项配置。SMTP任务控制了Domino服务器中的SMTP监听器。默认情况下,无论何时重新启动SMTP服务,从那时起,每隔两分钟,SMTP服务就会自动检查Notes.ini文件、ConfigurationSettings文档和Server文档,查看设置是否有变化。如果服务检测到设置已经发生了更改,那么它会重新构建其内部配置来合并更改。ConfigurationSettings文档控制SMTP通讯量的最有效方法是通过ConfigurationSettings文档。ConfigurationSettings文档有多个选项卡,它们能够过滤SMTP电子邮件,从而减少垃圾邮件的数量。在ConfigurationSettings文档的Router/SMTP-RestrictionsandControls-SMTPInboundControls选项卡中,有6个配置SMTP协议的附加部分。入站转发控制这一部分允许您填充Internet域,Domino将允许或拒绝将消息转发到该域,如图1中所示。不配置Domino服务器的转发设置会导致该服务记入黑名单中,从而无法将出站SMTP消息发送到使用黑名单服务的域中。在Deny字段中,星号(*)会阻止Domino将消息转发给任何外部Internet主机或IP地址的外部Internet域。您还可以使用星号(*)代表IP地址的子网。“Allowmessagestobesentonlytothefollowingexternalinternetdomains”字段中列出的任何IP地址或主机都要优先于“Denymessagestobesenttothefollowingexternalinternetdomains”字段中的IP地址或主机。图1.SMTP入站转发控制“Allowmessagesonlyfromthefollowinginternethoststobesenttoexternalinternetdomains”字段中的任何值都将优先于“Denymessagesfromthefollowinginternethoststobesenttoexternalinternetdomains”字段中的值。在以前的Domino版本中,当发生冲突时,入站转发控制的Deny字段中的条目要优先于Allow字段中的条目。如果想转换回版本5使用的算法,需要配置Notes.ini变量SMTPRelayHostsandDomains=value。其默认值是0。该变量强制服务器遵守Domino5规则来解决SMTP入站转发控制中Allow和Deny列表条目之间的冲突。0—SMTP入站转发控制的Allow字段与Deny字段发生冲突时,Allow字段中的条目优先于Deny字段中的条目。例如,假设对于下列条目,主机mail.ibm.com总是可以转发到任何目的地,包括域lotus.com中的目的地。字段条目Denymessagestobesenttothefollowingexternalinternetdomainslotus.comAllowmessagesonlyfromthefollowinginternethoststobesenttoexternalinternetdomainsmail.ibm.com1——发生冲突事件时,SMTP入站转发控制的Deny字段中的条目要优先于Allow字段中的条目。使用前面的示例,如果拒绝转发到lotus.com,主机mail.ibm.com则不能转发到遭到拒绝的域。入站转发强制这一部分将讨论转发控制的高级设置。下列三个字段指定了图2中所示的其他SMTP转发设置。图2.SMTP入站转发强制PerformAnti-Relayenforcementfortheseconnectinghosts该字段指定了一些连接,服务器对这些连接强制执行图1中所示的SMTP入站转发控制中定义的入站转发控制。您需要选择下列设置之一:Externalhosts(默认值):服务器只将入站转发控制应用于从本地Internet域外连接到该服务器的主机。本地Internet域中的主机不受反转发限制。本地Internet域是通过GlobalDomain文档(如果存在)定义的,或者是作为主机服务器的Internet域定义的。Allconnectinghosts:服务器将入站转发控制应用于试图将邮件转发到外部Internet域的所有主机。None:服务器忽略入站转发控制中的设置。所有主机始终都可以转发。Excludetheseconnectinghostsfromanti-relaychecks可以创建一个例外列表,用它包含转发到任何允许的域的系统的主机名称或IP地址。对于每个指定的例外,不强制执行入站转发控制。输入不受图1中入站转发控制部分中的指定限制控制的主机的IP地址或名称。输入IP地址时,将其括在方括号内。Exceptionsforauthenticatedusers该字段可用来指定在连接到服务器时,是否可以不强制提供登录凭证的用户执行入站转发控制。必须选择下列选项之一:Performanti-relaychecksforauthenticatedusers:对于已经验证的用户,服务器不允许有例外。已验证的用户与未验证的用户同样要受到管制。Allowallauthenticateduserstorelay:使用有效名称和口令登录的用户可以不受适当的入站转发控制。使用该选项可以允许从本地Internet域外的ISP帐户连接到网络的POP3或IMAP用户进行转发。DNS黑名单过滤这一部分控制着是否使用图3中所示的DNS黑名单过滤。如果启用它,那么当Domino收到SMTP连接请求时,它会检查连接主机是否列在指定站点的黑名单中。如果在名单中发现了连接主机,Domino会以控制台消息或NotesLog的MailRoutingEvents视图中的条目的形式来报告事件。控制台消息和日志条目都提供了服务器的主机名称和IP地址,以及列出该服务器的站点的名称。如果Domino在一个黑名单中发现了连接主机,那么它不会再继续检查配置的其他站点的名单。图3.DNS黑名单过滤可以选择许多维护DNS黑名单的公共可得的订阅服务和专用付费的订阅服务。使用公共黑名单服务时,Domino通过Internet执行DNS查询。在一些情况下,可能要花大量的时间来解决提交给Internet站点的DNS查询。如果通过Internet进行的DNS查询的网络等待时间会减慢执行速度,那么可以考虑与允许区域传送的专用服务签约,从而使Domino能够对本地主机执行所需的DNS查找。在区域传送过程中,服务提供者的DNS区域文件的内容会被复制到本地网络的DNS服务器中。对于将服务器添加到自己的名单中,每个黑名单服务都使用自己的标准。黑名单站点使用自动测试和其他方法来确定受怀疑的服务器是在发出垃圾邮件,还是被用作开放转发器。限制性较高的黑名单站点会在自动测试失败后立刻将该服务器添加到它们的名单中,而不管是否已经确认服务器是垃圾邮件的来源。其他限制性较低的站点只会在其管理员指定的宽限期后不能关闭服务器对第三方的转发时,才列出该服务器,或者只在服务器接受大家都知道的垃圾邮件者时列出该服务器。当因为在DNS黑名单中发现主机而拒绝连接时,我们可以定制返回的错误消息的文本。默认的错误消息将指明是因为策略原因而拒绝连接。我们可以使用格式指定符%S来指定遭拒绝主机的IP地址,以及Domino在其中发现列出该主机的DNS黑名单站点。例如,假设输入下列文本:Yourhost%swasfoundintheDNSBlacklistat%s当Domino拒绝连接时,它向主机返回错误消息,其中用该主机的IP地址替代第一个%S,用DNS黑名单站点名称替代第二个%S。因此,如果输入上例中的文本,遭拒绝的主机会收到以下错误消息:Yourhost127.0.0.2wasfoundintheDNSBlacklistatibmdnsbl.mail-abuse.org在DNS黑名单中发现连接主机时所需的操作必须选择下列DNS黑名单设置之一:Log:当Domino发现黑名单中有连接主机时,它会接受该主机的消息,并在服务器日志中记录连接服务器的主机名称和IP地址,以及列出该服务器的站点名。Logandtagmessage:当Domino发现黑名单中有连接主机时,它接受该主机的消息、连接服务器的主机名称和IP地址,并列出该服务器的站点名,向每个接受的消息添加注释项$DNSBLSite。$DNSBLSite项的值是在其中发现主机的黑名单站点。管理员可以使用$DNSBLSite注释项来提供对黑名单中列出的主机收到的消息的自定义处理。Logandrejectmessage:当Domino发现黑名单中有连接主机时,它拒绝连接该主机,并向该主机返回可配置的错误消息。还可以从DominoAdministrator或通过在服务器控制台使用SHOWSTATSMTP命令,来收集统计信息。可以进一步扩展统计信息,以了解在其中一个已配置DNSBL上发现给定IP地址的次数。要收集扩展信息,需要在服务器的Notes.ini文件中设置变量SMTPExpandDNSBLStats。SMTPExpandDNSBLStats=value使用该设置为DNS黑名单站点中发现的每个连接主机生成DNS黑名单过滤统计。0表明SM