要测试 SpamAssassin,请首先在 spamassassion.opt 文件中设置 debug=1。您不必在 imta.cnf 中启用特定于通道的 master_debug 或 slave_debug。然后,将测试邮件发送给测试用户。msg_svr_base/data/log/tcp_local_slave.log* 文件应当具有类似以下内容的行:
15:15:45.44: SpamAssassin callout debugging enabled; config /opt/SUNWmsgsr/config/spamassassin.opt 15:15:45.44: IP address 127.0.0.1 specified 15:15:45.44: Port 2000 selected 15:15:45.44: Mode 0 selected 15:15:45.44: Field "Spam-Test: " selected 15:15:45.44: Verdict "spam" selected 15:15:45.44: Using CHECK rather than SYMBOLS 15:15:45.44: Initializing SpamAssassin message context ... 15:15:51.42: Creating socket to connect to SpamAssassin 15:15:51.42: Binding SpamAssassin socket 15:15:51.42: Connecting to SpamAssassin 15:15:51.42: Sending SpamAssassin announcement 15:15:51.42: Sending SpamAssassin the message 15:15:51.42: Performing SpamAssassin half close 15:15:51.42: Reading SpamAssassin status 15:15:51.67: Status line: SPAMD/1.1 0 EX_OK 15:15:51.67: Reading SpamAssassin result 15:15:51.67: Result line: Spam: False ; 1.3 / 5.0 15:15:51.67: Verdict line: Spam-Test: False ; 1.3 / 5.0 15:15:51.67: Closing connection to SpamAssassin 15:15:51.73: Freeing SpamAssassin message context |
如果日志文件中不包含类似以上内容的行,或者 spamd 未运行,则将最后的句点 (.) 发送到 SMTP 服务器后,SMTP 对话框中将返回以下错误消息。
452 4.4.5 Error writing message temporaries - Temporary scan failure: End message status = -1
此外,如果在 option.dat 中设置了 spamfilter1_optional=1(强烈推荐),则将接受邮件而不会过滤邮件。如同没有启用垃圾邮件过滤功能一样,并且 tcp_local_slave.log* 中将显示以下内容行:
15:35:15.69: Creating socket to connect to SpamAssassin 15:35:15.69: Binding SpamAssassin socket 15:35:15.69: Connecting to SpamAssassin 15:35:15.69: Error connecting socket: Connection refused 15:35:15.72: Freeing SpamAssassin message context |
在 SMTP 服务器接收到整个邮件之后(即,最后的 "." 发送到 SMTP 服务器之后),在 SMTP 服务器向发件人确认它已接受邮件之前,系统将调用 SpamAssassin。
另一项测试是使用诸如 Mail-SpamAssassin-2.60 目录中的 sample-spam.txt 来发送样例垃圾邮件。此邮件中包含以下特殊的文本字符串:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X |
对应的 tcp_local_slave.log* 包含类似下面的内容:
16:00:08.15: Creating socket to connect to SpamAssassin 16:00:08.15: Binding SpamAssassin socket 16:00:08.15: Connecting to SpamAssassin 16:00:08.15: Sending SpamAssassin announcement 16:00:08.15: Sending SpamAssassin the message 16:00:08.15: Performing SpamAssassin half close 16:00:08.15: Reading SpamAssassin status 16:00:08.43: Status line: SPAMD/1.1 0 EX_OK 16:00:08.43: Reading SpamAssassin result 16:00:08.43: Result line: Spam: True ; 1002.9 / 5.0 16:00:08.43: Verdict line: Spam-Test: True ; 1002.9 / 5.0 16:00:08.43: Closing connection to SpamAssassin 16:00:08.43: Mode 0 verdict of spam 16:00:08.43: Mode 0 verdict of spam 16:00:08.47: Freeing SpamAssassin message context |
mail.log_current 文件中的对应条目如下所示。请注意目标地址的 +spam 部分,该部分表示将邮件归档到名为 spam 的文件夹中。
15-Dec-2003 15:32:17.44 tcp_intranet ims-ms E 1 morchia@siroe.com rfc822; morchia morchia+spam@ims-ms-daemon 15-Dec-2003 15:32:18.53 ims-ms D 1 morchia@siroe.com rfc822;morchia morchia+spam@ims-ms-daemon |