Sun Java System Messaging Server 6.3 管理指南

14.2.2 指定要过滤的邮件

一旦安装了垃圾邮件过滤软件并准备使用 Messaging Server 运行时,您需要指定要过滤的邮件。Messaging Server 可以配置为基于用户、域或通道过滤邮件。以下每节介绍了一种方案:


注 –

表达式 optin 表示选择用户、域或通道来接收邮件过滤。


Procedure指定用户级别的过滤

可能需要为每个用户指定过滤。例如,如果将垃圾邮件过滤或病毒过滤作为高级服务提供给 ISP 用户,则您可以指定哪些用户可以和不可以接收该服务。用户过滤的一般步骤如下所示:

  1. 指定激活垃圾邮件过滤软件的用户 LDAP 属性。

    option.dat 中设置 LDAP_OPTINX 选项。示例:


    LDAP_OPTIN1=SymantecAV
    LDAP_OPTIN2=SpamAssassin

    注 –

    默认情况下,模式中不存在 SymantecAVSpamAssassin 之类的属性。无论使用何种新属性,都需要将其添加到目录模式中。有关说明,请参见相应的 Directory Server 文档。


  2. 在接收垃圾邮件过滤的用户条目中设置过滤属性。

    过滤属性的值为多个值并取决于服务器。使用步骤 1 所示的示例,条目为:


    SymantecAV: virus
    SpamAssassin: spam

    对于像 Brightmail 这种既可以过滤病毒又可以过滤垃圾邮件的程序,有效值为 spamvirus。用作多值属性时,每个值均需要一个单独的属性条目。例如,如果将 Brightmail 的过滤器属性设置为 Brightmail,则条目为:


    Brightmail: spam
    Brightmail: virus

14.2.2.1 用户级别的过滤示例

本示例假定使用的是 Brightmail。还假定在 option.dat 文件中将 LDAP_OPTIN1 设置为 Brightmail。用户 Otis Fanning 在其用户条目中将 Brightmail 属性设置为 spamvirus。Brightmail 将对他的邮件进行垃圾邮件和病毒过滤。14.2.2.1 用户级别的过滤示例显示了 Otis Fanning 的 Brightmail 用户条目。


示例 14–1 Brightmail 的示例 LDAP 用户条目


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-Spam14.4 使用 SpamAssassin14.5 使用 Symantec Anti-Virus Scanning Engine (SAVSE)

Procedure指定域级别的过滤

您可以指定接收过滤的域。此功能的示例是:是否将反垃圾邮件或反病毒过滤作为高级服务提供给 ISP 域用户。指定域过滤的一般步骤如下所示:

  1. 指定激活过滤软件的域 LDAP 属性。

    option.dat 中设置 LDAP_DOMAIN_ATTR_OPTIN X 选项。示例:


    LDAP_DOMAIN_ATTR_OPTIN1=SymantecAV
    LDAP_DOMAIN_ATTR_OPTIN2=SpamAssassin
    

    注 –

    默认情况下,模式中不存在 SymantecAVSpamAssassin 之类的属性。无论使用何种新属性,都需要将其添加到目录模式中。有关说明,请参见相应的 Directory Server 文档。


  2. 在接收垃圾邮件过滤的域条目中设置过滤属性。

    过滤属性的值为多个值并取决于服务器。使用步骤 1 所示的示例,条目将如下所示:


    SymantecAV: virus
    SpamAssassin: spam

    对于像 Brightmail 这种既可以过滤病毒又可以过滤垃圾邮件的程序,有效值为 spamvirus。用作多值属性时,每个值均需要一个单独的属性值条目。例如,如果将 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 属性设置为 spamvirus。对于 Sun LDAP Schema 2,也在接收垃圾邮件过滤的域条目中对 Brightmail 进行设置。

Brightmail 将对所有发送到 sesta.com 的邮件进行垃圾邮件和病毒过滤。下面显示了域级别过滤示例


示例 14–2 Brightmail 的示例 LDAP 域条目


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-Spam14.4 使用 SpamAssassin14.5 使用 Symantec Anti-Virus Scanning Engine (SAVSE)

Procedure指定通道级别的过滤

按照源通道或目标通道的过滤为垃圾邮件过滤提供了更高的灵活性和粒度。例如,您可能希望按以下方式进行过滤:

Messaging Server 允许您按照源通道或目标通道指定过滤。12.12.5 垃圾邮件过滤器关键字中所述的通道关键字是实现此过滤的机制。以下示例说明如何设置通道级别的过滤。

  1. 在所有入站 SMTP 服务器(负责向后端消息存储主机发送邮件)的 imta.cnf 文件中添加重写规则。示例:

    msg_store1.siroe.com $U@msg_store1.siroe.com

  2. 使用 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 垃圾邮件过滤器关键字

Procedure过滤从 MTA 中继发送到后端消息存储的邮件

此示例对所有从 MTA 中继发送到称为 msg_store1.siroe.com 的后端消息存储的邮件进行垃圾邮件和病毒过滤。

  1. imta.cnf 文件(负责向后端消息存储主机发送邮件)中添加重写规则。示例:

    msg_store1.siroe.com   $U@msg_store1.siroe.com
  2. 使用 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