Sun Java System Messaging Server 6 2005Q4 管理指南

Procedure将垃圾邮件归档到单独的文件夹

本示例将测试传入到本地邮件存储的邮件,并将垃圾邮件归档到名为 spam 的文件夹中。可以按照任何顺序来执行前三个步骤。

步骤
  1. 创建 SpamAssassin 配置文件。

    步骤 2 中指定了此文件的名称和位置。spamassassin.opt 是个很好的名称。本文件包含以下各行:


    host=127.0.0.1
    port=2000
    mode=0
    verdict=spam
    debug=1
                      

    hostport 分别指定运行 spamd 的系统的名称,以及 spamd 侦听外来请求的端口。mode=0 指定如果系统将邮件识别为垃圾邮件,则返回一个由 verdict 指定的字符串。debug=1 指定在 SpamAssassin 库中启用调试。请参见表 14–4

  2. option.dat 文件中添加以下各行:


    ! for Spamassassin
    spamfilter1_config_file=/opt/SUNWmsgsr/config/spamassassin.opt
    spamfilter1_library=/opt/SUNWmsgsr/lib/libspamass.so
    spamfilter1_optional=1
    spamfilter1_string_action=data:,require "fileinto"; fileinto "$U";
                      

    spamfilter1_config_file 指定 SpamAssassin 配置文件。

    spamfilter1_library 指定 SpamAssassin 共享库。

    spamfilter1_optional=1 指定 spamd 失败时,MTA 将继续运行。

    spamfilter1_string_action 指定对垃圾邮件采取的 Sieve 操作。

    在本示例中,因为默认值已为 data:,require "fileinto"; fileinto "$U";,所以无需 spamfilter1_string_action。该行指定将垃圾邮件发送到某个文件夹。文件夹的名称是 SpamAssassin 返回的垃圾邮件结论值。spamassassin.opt 中的 verdict 选项指定了 SpamAssassin 返回的值。(请参见步骤 1。)在此示例中,文件夹名称为 spam

  3. 指定要过滤的邮件。

    要过滤传入到本地邮件存储的所有邮件,请通过在 ims-ms 通道中添加 destinationspamfilterXoptin spam 关键字来更改 imta.cnf 文件:


    !
    ! ims-ms
    ims-ms defragment subdirs 20 notices 1 7 14 21 28 backoff "pt5m" "pt10m" 
    "pt30m" "pt1h"  "pt2h" "pt4h" maxjobs 4 pool IMS_POOL fileinto
    $U+$S@$D destinationspamfilter1optin spam
    ims-ms-daemon
  4. 重新编译配置并重新启动服务器。只需要重新启动 MTA。无需执行 stop-msg


    # imsimta cnbuild
    # imsimta restart
    
  5. 启动 spamd 守护进程。通常使用以下格式的命令执行此操作:

    spamd -d

    spamd 默认为只接受来自本地系统的连接。如果 SpamAssassin 和 Messaging Server 是在不同的系统中运行,则需要此语法:

    spamd -d -i listen_ip_address -A allowed_hosts

    其中 listen_ip_address 是要侦听的地址,allowed_hosts 是可以连接到此 spamd 实例的授权主机或网络(使用 IP 地址)的列表。


    注 –

    0.0.0.0 可以与 -i listen_ip_address 结合使用,以使 spamd 侦听所有地址。最好侦听所有地址,因为 spamfilterX_verdict_n 可以避免在更改系统的 IP 地址时必须更改命令脚本。