贝叶斯过滤Exchange 2010

所以这是交易。

基本上,我正在寻找一种方便的方法,将垃圾邮件从我的Exchange 2010邮件服务器以垃圾邮件filter/代理(无论您想要调用它)以邮件格式从SpamAssassin进行贝叶斯过滤(显然是Maildir或Mbox)。

我已经创build了一个网关来过滤邮件,然后按照本教程将其传递给我的Exchange服务器。 从我所做的研究来看,一旦邮件处于一种知道如何使用的格式,应用贝叶斯过滤应该很容易:

sa-learn -mbox --spam ~/mbox/spam ~/mbox/bad-spam 

从本质上讲,SpamAssassin需要一定数量的垃圾邮件和HAM邮件来做它的事情,并认为我可以让用户将他们的电子邮件转储到这个公共文件夹。

我最初的意图是使用类似IMAP2mbox的东西,然后将其转储到SpamAssassin网关上的一个目录中。 这就是我的问题,看起来这对于Exchange Server 2010来说已经变得非常棘手,因为不再支持内置的IMAP公用文件夹。

我非常难以想出一种方法,将我的Exchange服务器发送的垃圾邮件转换为SpamAssassin可以使用的格式。

我猜测有一个类似的方法来做到这一点,但我不知道下一步看什么。

Exchange 2010可能允许使用域/用户/邮箱表示法通过IMAP访问外部用户的邮箱。 根据KB937359,此function最初从Exchange 2007中删除,但在SP1汇总4中重新引入。因此,值得一试。

也有DavMail这可能是一些帮助 – 它网关标准的互联网邮件协议通过WebDAV或EWS交换。 我还没有尝试,但访问其他用户的邮箱可能在那里使用DOMAIN \ USERNAME \ MAILBOX符号工作,公共文件夹显然也可以访问。

垃圾邮件进入SA的基本思路是简单地在您的Postfix / Amavisd-Box上设置fetchmail来检索垃圾邮件,并将其提供给sa-learn。 确保为sa-learn指定正确的数据库path,以便amavis实际使用更新的bayes数据库。 在Ubunty系统上,执行此操作的命令应该如下所示:

 /usr/bin/fetchmail -a -n -m '/usr/bin/sa-learn --dbpath /var/lib/amavis/.spamassassin' --spam 

您的.fetchmailrc包含用户名,密码,要访问的邮箱以及要提取的文件夹的必要信息:

 poll your.exchange.server protocol IMAP user "DOMAIN/spamadmin/user1" with password "spamadmin-password" folder "SPAM" poll your.exchange.server protocol IMAP user "DOMAIN/spamadmin/user2" with password "spamadmin-password" folder "SPAM" poll your.exchange.server protocol IMAP user "DOMAIN/spamadmin/user3" with password "spamadmin-password" folder "SPAM" 

指定fetchmail命令的-v参数和sa-learn的-D参数将为您提供一些debugging输出。 fetchmail文档包含更多有用的信息和一些工作的fetchmailconfiguration示例。

对于我的SBS2011 / Exchange 201120人办公服务器,我向Exchange Server Toolbox购买了100美元的许可证,该服务器将垃圾邮件刺客与Exchange的中心传输内联在一起,并增强了Exchange内置的内容过滤function。

我获得了完全可configuration的垃圾邮件刺客,标题和主题重写,以及作为.eml文件通过Exchange传递的所有邮件的秘密备份。

我想这听起来像一个斜杠广告,但是这个100美元的Gizmo作品真的很热衷于我。