一旦安装了垃圾邮件过滤软件并准备使用 Messaging Server 运行时,您需要指定要过滤的邮件。Messaging Server 可以配置为基于用户、域或通道过滤邮件。以下每节介绍了一种方案:
表达式 optin 表示选择用户、域或通道来接收邮件过滤。
可能需要为每个用户指定过滤。例如,如果将垃圾邮件过滤或病毒过滤作为高级服务提供给 ISP 用户,则您可以指定哪些用户可以和不可以接收该服务。用户过滤的一般步骤如下所示:
指定激活垃圾邮件过滤软件的用户 LDAP 属性。
在 option.dat 中设置 LDAP_OPTINX 选项。示例:
LDAP_OPTIN1=SymantecAV LDAP_OPTIN2=SpamAssassin |
默认情况下,模式中不存在 SymantecAV 或 SpamAssassin 之类的属性。无论使用何种新属性,都需要将其添加到目录模式中。有关说明,请参见相应的 Directory Server 文档。
在接收垃圾邮件过滤的用户条目中设置过滤属性。
过滤属性的值为多个值并取决于服务器。使用步骤 1 所示的示例,条目为:
SymantecAV: virus SpamAssassin: spam |
对于像 Brightmail 这种既可以过滤病毒又可以过滤垃圾邮件的程序,有效值为 spam 和 virus。用作多值属性时,每个值均需要一个单独的属性条目。例如,如果将 Brightmail 的过滤器属性设置为 Brightmail,则条目为:
Brightmail: spam Brightmail: virus |
本示例假定使用的是 Brightmail。还假定在 option.dat 文件中将 LDAP_OPTIN1 设置为 Brightmail。用户 Otis Fanning 在其用户条目中将 Brightmail 属性设置为 spam 和 virus。Brightmail 将对他的邮件进行垃圾邮件和病毒过滤。14.2.2.1 用户级别的过滤示例显示了 Otis Fanning 的 Brightmail 用户条目。
dn: uid=fanning,ou=people,o=sesta.com,o=ISP objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: inetUser objectClass: ipUser objectClass: inetMailUser objectClass: inetLocalMailRecipient objectClass: nsManagedPerson objectClass: userPresenceProfile cn: Otis Fanning sn: fanning initials: OTF givenName: Otis pabURI: ldap://ldap.siroe.com:389/ou=fanning,ou=people,o=sesta.com,o=isp,o=pab mail: Otis.Fanning@sesta.com mailAlternateAddress: ofanning@sesta.com mailDeliveryOption: mailbox mailHost: manatee.siroe.com uid: fanning dataSource: iMS 5.0 @(#)ims50users.sh 1.5a 02/3/00 userPassword: password inetUserStatus: active mailUserStatus: active mailQuota: -1 mailMsgQuota: 100 Brightmail: virus Brightmail: spam |
如果使用的是 Symantec AntiVirus Scan Engine 和 SpamAssassin,则条目将类似于如下所示:
SymantecAV: virus SpamAssassin: spam |
请参见14.3 使用 Symantec Brightmail Anti-Spam、14.4 使用 SpamAssassin或14.5 使用 Symantec Anti-Virus Scanning Engine (SAVSE)
您可以指定接收过滤的域。此功能的示例是:是否将反垃圾邮件或反病毒过滤作为高级服务提供给 ISP 域用户。指定域过滤的一般步骤如下所示:
指定激活过滤软件的域 LDAP 属性。
在 option.dat 中设置 LDAP_DOMAIN_ATTR_OPTIN X 选项。示例:
LDAP_DOMAIN_ATTR_OPTIN1=SymantecAV LDAP_DOMAIN_ATTR_OPTIN2=SpamAssassin |
默认情况下,模式中不存在 SymantecAV 或 SpamAssassin 之类的属性。无论使用何种新属性,都需要将其添加到目录模式中。有关说明,请参见相应的 Directory Server 文档。
在接收垃圾邮件过滤的域条目中设置过滤属性。
过滤属性的值为多个值并取决于服务器。使用步骤 1 所示的示例,条目将如下所示:
SymantecAV: virus SpamAssassin: spam |
对于像 Brightmail 这种既可以过滤病毒又可以过滤垃圾邮件的程序,有效值为 spam 和 virus。用作多值属性时,每个值均需要一个单独的属性值条目。例如,如果将 LDAP_DOMAIN_ATTR_OPTIN1 设置为 Brightmail,则条目为:
Brightmail: spam Brightmail: virus |
本示例假定使用的是 Brightmail。此外,还假定在 option.dat 文件中将 LDAP_DOMAIN_ATTR_OPTIN1 设置为 Brightmail。在 Sun LDAP Schema 1 DC 树的 sesta.com 域条目中,将 Brightmail 属性设置为 spam 和 virus。对于 Sun LDAP Schema 2,也在接收垃圾邮件过滤的域条目中对 Brightmail 进行设置。
Brightmail 将对所有发送到 sesta.com 的邮件进行垃圾邮件和病毒过滤。下面显示了域级别过滤示例。
dn: dc=sesta,dc=com,o=internet objectClass: domain objectClass: inetDomain objectClass: mailDomain objectClass: nsManagedDomain objectClass: icsCalendarDomain description: DC node for sesta.com hosted domain dc: sesta inetDomainBaseDN: o=sesta.com,o=isp inetDomainStatus: active mailDomainStatus: active mailDomainAllowedServiceAccess: +imap, pop3, http:* mailRoutingHosts: manatee.siroe.com preferredMailHost: manatee.siroe.com mailDomainDiskQuota: 100000000 mailDomainMsgQuota: -1 mailClientAttachmentQuota: 5 Brightmail: spam Brightmail: virus |
如果使用的是 Symantec AntiVirus Scan Engine 和 SpamAssassin,则条目将类似于如下所示:
SymantecAV: virus SpamAssassin: spam |
有关更多示例和详细信息,请参见14.3 使用 Symantec Brightmail Anti-Spam、14.4 使用 SpamAssassin或14.5 使用 Symantec Anti-Virus Scanning Engine (SAVSE)。
按照源通道或目标通道的过滤为垃圾邮件过滤提供了更高的灵活性和粒度。例如,您可能希望按以下方式进行过滤:
只有从特定的 MTA 中继发送到后端消息存储的邮件
所有来自特定 MTA 的外来邮件。
所有来自特定 MTA 的外发邮件。
所有来自特定 MTA 的外来邮件和外发邮件。
Messaging Server 允许您按照源通道或目标通道指定过滤。12.12.5 垃圾邮件过滤器关键字中所述的通道关键字是实现此过滤的机制。以下示例说明如何设置通道级别的过滤。
在所有入站 SMTP 服务器(负责向后端消息存储主机发送邮件)的 imta.cnf 文件中添加重写规则。示例:
msg_store1.siroe.com $U@msg_store1.siroe.com
使用 destinationspamfilterXoptin 关键字添加与该重写规则对应的通道。示例:
tcp_msg_store1 smtp subdirs 20 backoff "pt5m" "pt10" "pt30" \ "pt1h" "pt2h" "pt4h" maxjobs 1 pool IMS_POOL \ fileinto $U+$S@$D destinationspamfilter1optin spam msg_store1.siroe.com |
这些示例均假定过滤程序由数字 1 指定。有关可用于垃圾邮件过滤的关键字,请参见12.12.5 垃圾邮件过滤器关键字。
此示例对所有从 MTA 中继发送到称为 msg_store1.siroe.com 的后端消息存储的邮件进行垃圾邮件和病毒过滤。
在 imta.cnf 文件(负责向后端消息存储主机发送邮件)中添加重写规则。示例:
msg_store1.siroe.com $U@msg_store1.siroe.com
使用 destinationspamfilterXoptin 关键字添加与该重写规则对应的通道。示例:
tcp_msg_store1 smtp subdirs 20 backoff "pt5m" "pt10" "pt30" "pt1h" \ "pt2h" "pt4h" maxjobs 1 pool IMS_POOL fileinto $U+$S@$D \ destinationspamfilter 1optin spam,virus msg_store1.siroe.com
示例 2。对所有通过 MTA 的外来邮件进行垃圾邮件过滤(通常情况下,所有外来邮件都通过 tcp_local 通道):
tcp_local smtp mx single_sys remotehost inner switchchannel \ identnonelimited subdirs 20 maxjobs 7 pool SMTP_POOL \ maytlsserver maysaslserver saslswitchchannel tcp_auth \ sourcespamfilter1optin spam tcp-daemon
示例 3。过滤所有通过 MTA 外发到 Internet 的邮件。(通常情况下,所有外发到 Internet 的邮件都通过 tcp_local 通道。)
tcp_local smtp mx single_sys remotehost inner switchchannel \ identnonelimited subdirs 20 maxjobs 7 pool SMTP_POOL \ maytlsserver maysaslserver saslswitchchannel tcp_auth \ destinationspamfilter1optin spam tcp-daemon
示例 4。过滤所有通过 MTA 的外来和外发邮件:
tcp_local smtp mx single_sys remotehost inner switchchannel \ identnonelimited subdirs 20 maxjobs 7 pool SMTP_POOL \ maytlsserver maysaslserver saslswitchchannel tcp_auth \ sourcespamfilter1optin spam destinationspamfilter1optin spam tcp-daemon
示例 5。过滤所有发送到两层系统中本地消息存储的邮件,不使用基于用户的选定:
ims-ms smtp mx single_sys remotehost inner switchchannel \ identnonelimited subdirs 20 maxjobs 7 pool SMTP_POOL \ maytlsserver maysaslserver saslswitchchannel tcp_auth \ destinationspamfilter1optin spam tcp-daemon
示例 6。对所有外来和外发邮件进行垃圾邮件和病毒过滤(假定软件可以进行垃圾邮件和病毒过滤):
tcp_local smtp mx single_sys remotehost inner switchchannel \ identnonelimited subdirs 20 maxjobs 7 pool SMTP_POOL \ maytlsserver maysaslserver saslswitchchannel tcp_auth \ destinationspamfilter1optin spam,virus sourcespamfilter1optin \ spam,virus tcp-daemon