1 最后由 12610690 (2015-02-27 17:55:23) 编辑

主题: ClamAV、Amavisd、SpamAssassin哪个组件可以直接进行指定垃圾邮件内容过滤?

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.6.5
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):MySQL
- 使用的 Linux/BSD 发行版名称及版本号:CentOS
- 与您的问题相关的日志信息:
====
之前有透过Policyd开启了Greylist,并且有设定一些黑名单,但是最近收到的垃圾邮件很多很多,都是广告的。想请教一下,
IredMail里边是否能实现对邮件头、邮件主题内容的中文或英文过滤呢?
如果有的话,比如:我想挡住所有主题里含“Cash”或“发票”这样的关键字,我需要在哪个文件进行怎样的配置呢?

我之前有研究网上的一些教程,试着改动过SpamAss的配置文件,但是改了之后感觉没有生效,反而最后不知道怎么回事,连最简单的将垃圾邮件标记SPAM开头的功能都失掉了。

回复: ClamAV、Amavisd、SpamAssassin哪个组件可以直接进行指定垃圾邮件内容过滤?

看这里:
https://wiki.apache.org/spamassassin/WritingRules

3 最后由 12610690 (2015-02-28 15:13:03) 编辑

回复: ClamAV、Amavisd、SpamAssassin哪个组件可以直接进行指定垃圾邮件内容过滤?

ZhangHuangbin 写道:

看这里:
https://wiki.apache.org/spamassassin/WritingRules

看您提供的消息,现在可以确认Spamd服务就是可以进行垃圾邮件主题及正文内容过滤的组件,但是我之前就是按照这个文档再结合其他一些说明进行相关设定的,设定后重启各项服务以后,进行类似的垃圾邮件测试表明是没有作用的,所以一度的怀疑是否不应该在这个地方进行配置。

不晓得张工这边之前有没有碰到类似的情况呢?

另外,我想请教一下,SPAMD的配置文件改动后,Amavisd与Policyd是否会受到影响呢?还是说SPAMD是独立添加的一部份,因为我把SPAMD服务停止以后,整个邮件收发并不会受到任何影响。

回复: ClamAV、Amavisd、SpamAssassin哪个组件可以直接进行指定垃圾邮件内容过滤?

12610690 写道:

另外,我想请教一下,SPAMD的配置文件改动后,Amavisd与Policyd是否会受到影响呢?

默认安装好的 iRedMail 只要在 /etc/mail/spamassassin/local.cf 里添加自己的自定义规则就ok,这个文件是肯定会被读取的。前提是你启用了 amavisd 服务,它会调用 spamassassin。

12610690 写道:

还是说SPAMD是独立添加的一部份,因为我把SPAMD服务停止以后,整个邮件收发并不会受到任何影响。

看这个文档的最后一句话:
http://www.iredmail.com/docs/completely … assin.html

5 最后由 12610690 (2015-03-04 17:48:54) 编辑

回复: ClamAV、Amavisd、SpamAssassin哪个组件可以直接进行指定垃圾邮件内容过滤?

ZhangHuangbin 写道:
12610690 写道:

另外,我想请教一下,SPAMD的配置文件改动后,Amavisd与Policyd是否会受到影响呢?

默认安装好的 iRedMail 只要在 /etc/mail/spamassassin/local.cf 里添加自己的自定义规则就ok,这个文件是肯定会被读取的。前提是你启用了 amavisd 服务,它会调用 spamassassin。

12610690 写道:

还是说SPAMD是独立添加的一部份,因为我把SPAMD服务停止以后,整个邮件收发并不会受到任何影响。

看这个文档的最后一句话:
http://www.iredmail.com/docs/completely … assin.html


我的amavisd服务正常运行着,spamassassin服务也正常运行着,我在/etc/mail/spamssassin/Local.cf里,加了一行对所有收到的邮件增加邮件头

add_header all YSH P-Spam-

测试的时候,收到的邮件并没有加上相应的信头,似乎邮件并没有经过SPAM扫描的样子,是我配置的不对吗?还是Iredmail并没有调用SPAMD对邮件进行内容过滤呢?

之前,针对邮件头的改写也是amavisd.conf中的有一行生效的所致,与SPAMD并无关。

您好,张工,想请教一下,iredmail里spamassassin过滤邮件内容的相应日志还是在/var/log/maillog里边的吗?

回复: ClamAV、Amavisd、SpamAssassin哪个组件可以直接进行指定垃圾邮件内容过滤?

怎么还在说 spamd 呢?完全无视我上面的回复啊,这样有意思么?

ZhangHuangbin 写道:

看这个文档的最后一句话:
http://www.iredmail.com/docs/completely … assin.html

SpamAssassin 由 amavisd 调用,不需要运行 spamd 后台进程,日志都由 amavisd 纪录。要看到更详细的 debug 信息,以 'debug-sa' 参数运行 amavisd 服务。例如:

# /etc/init.d/amavisd debug-sa
--- 或,直接调用 amavisd 命令
# amavisd-new debug-sa

回复: ClamAV、Amavisd、SpamAssassin哪个组件可以直接进行指定垃圾邮件内容过滤?

ZhangHuangbin 写道:

怎么还在说 spamd 呢?完全无视我上面的回复啊,这样有意思么?

ZhangHuangbin 写道:

看这个文档的最后一句话:
http://www.iredmail.com/docs/completely … assin.html

SpamAssassin 由 amavisd 调用,不需要运行 spamd 后台进程,日志都由 amavisd 纪录。要看到更详细的 debug 信息,以 'debug-sa' 参数运行 amavisd 服务。例如:

# /etc/init.d/amavisd debug-sa
--- 或,直接调用 amavisd 命令
# amavisd-new debug-sa

谢谢,这个部分现在很明了了。

另外,还想请教一下,SpamAssassin被Amavisd调用的话,

在/etc/mail/spamassassin/Local.cf中
rewrite_header      subject [ SPAM ]   未生效,垃圾邮件头不会出现方括号

在/etc/Amavisd.conf中的
$sa_spam_modifies_subj = 1;
$sa_spam_subject_tag = '***SPAM*** ';  生效,垃圾邮件头出现星号标记

实际效果是无论怎么改Local.cf,都没有效果,如果我要给所有进站邮件重写邮件头,应该怎么操作呢?

谢谢您!

回复: ClamAV、Amavisd、SpamAssassin哪个组件可以直接进行指定垃圾邮件内容过滤?

由于 spamassassin 是由 amavisd 调用,所以 amavisd 自己提供了参数覆盖了一小部分 spamassassin 的参数,其中一个就是 sa_spam_subject_tag。

如果你的修改无效,还是请打开 debug 模式检查一下。如果 debug 里没有信息,找另外的 debug 方式。总之就是想方设法让 amavisd+spamassassin 将你自定义的规则的执行情况打印出来。