开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

十四、配置dspam--EXTMAIL

简介:
+关注继续查看

1、安装dspam

Dspam的配置主要参考《Dspam+Amavis-new+SA-Clamav for EMOS》

链接: http://www.extmail.org/forum/viewthread.php?tid=10393&extra=&page=1

 

shell

# yum install dspam-mysql 2、导入 DSPAM 训练库

shell

# cd /root/
# wget http://www.extmail.org/download/misc/dspam/dspam-trained-data.sql.gz
# gzip -d dspam-trained-data.sql.gz
# rm -rf /var/lib/mysql/dspam/ (备注:如果没有dspam的库,可以不用执行)
# mysql -u root -p -e “create database dspam”
# mysql -u root -p -e “grant all on dspam.* to dspam@localhost identified by ‘dspam’” 
# mysql -u dspam -p dspam dspam < /root/dspam-trained-data.sql

DSPAM的token数据库的定时清理:

 

shell

# crontab -e

加入以下内容:

0 0 * * * /usr/bin/mysql -u dspam -p'dspam' dspam < /usr/share/dspam/sql/mysql/purge.sql0 0 * * * /usr/bin/dspam_logrotate -a 30 -d /var/spool/dspam/data3、配置 dspam.conf 文件

shell

# vi /etc/dspam/dspam.conf

变动内容如下:

DeliveryHost 127.0.0.1DeliveryPort 10024DeliveryIdent localhostDeliveryProto SMTPTrust extmailPreference "signatureLocation=headers" # 'message' or 'headers'Preference "showFactors=off"MySQLUIDInSignature onMySQLServer /var/lib/mysql/mysql.sockMySQLUser dspamMySQLPass dspamMySQLDb dspamMySQLCompress trueMySQLConnectionCache 10ServerPort 10028ServerQueueSize 32ServerPID /var/spool/dspam/dspamd.pidServerMode autoServerPass.Relay1 "secret"ServerParameters "--user extmail --deliver=innocent,spam"ServerIdent "localhost.localdomain"ClientHost 127.0.0.1ClientPort 10028ClientIdent "secret@Relay1"3、启动 dspam 进程

shell

# chkconfig dspamd on
# service dspamd start

查看dspam启动进程

 

shell

# ps aux |grep dspam

显示以下内容:

dspam 18407 0.0 0.5 5452 1344 pts/0 S 19:16 0:00 /usr/sbin/dspamd --daemonroot 18412 0.0 0.2 5140 668 pts/0 S+ 19:17 0:00 grep dspamd4、修改main.cf文件

shell

# vi /etc/postfix/main.cf

增加以下内容:

header_checks = regexp:/etc/postfix/dspam_header_checks

设置邮件标题过滤管理 以防止重复X-DSPAM-Signature标题,可以防止签名被报道为垃圾。这发生在当你从一个已经运行Dspam的服务器收到邮件,或被用于通过伪造的、滥发邮件来阻止你训练数据库,

 

shell

# vi /etc/postfix/dspam_header_checks

增加以下内容:

/^(X-DSPAM-.*)/ IGNORE/^(X-Spam-.*)/ IGNORE

重启postfix :

 

shell

# service postfix restart 5、编辑 amavisd.conf 文件

shell

# vi /etc/amavisd/amavisd.conf

增加以下内容:

$dspam = '/usr/bin/dspam';@spam_scanners = ( ['SpamAssassin', 'Amavis::SpamControl::SpamAssassin'], ['DSPAM', 'Amavis::SpamControl::ExtProg', $dspam, [ qw(--client --stdout --deliver=spam,innocent --mode=teft --user extmail)], ],);

SA增加DSpam插件:

 

shell

# cd /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/Plugin
# wget http://www.extmail.org/download/misc/dspam/dspam.pm

编辑 local.cf 文件

 

shell

# cd /etc/mail/spamassassin/
# wget http://www.extmail.org/download/misc/dspam/dspam.cf
# vi local.cf

在下面增加以下内容

include dspam.cf

编辑 init.pre 文件:

 

shell

# vi init.pre

在下面增加以下内容

loadplugin Mail::SpamAssassin::Plugin::dspam

重启amavisd

 

shell

# service amavisd restart 6、增加 extmail 的垃圾邮件举报

说明:
Extmail 1.0.9正式加入垃圾邮件举报功能,主要基于(xueron)的补丁包,并进行了一定的调整,使该功能可以兼容DSPAM及Spamassassin两种内容过滤软件的训练。
Extmail1.1.1加入(stvictor)提供的spamassassin举报功能,感谢!

修改 webmail.cf

 

shell

# vi /var/www/extsuite/extmail/webmail.cf

主要变动的内容如下:

SYS_SPAM_REPORT_ON = 1SYS_SPAM_REPORT_TYPE = dspam

设置maidrop的全局过滤

 

shell

# vi /etc/maildroprc

内容如下:

# Decoder for high quality key word filtering# Author: hzqbbc <hzqbbc@hzqbbc.com> - ExtMail Dev TeamDECODER="/var/www/extsuite/extmail/tools/decode -v"if ((/^(From|Sender|Return-Path):.*MAILER\-DAEMON/)){ BADSENDER=1}# Custom filter and auto deliver to Junk mailbox support# need test command and other Unix command`test -f $HOME/.mailfilter && exit 1 || exit 0`# No customize filtering rulesif ( $RETURNCODE == 0 ){ if (/^X-Spam-Flag:.*YES/ || /^X-DSPAM-Result:.*Spam/) { exception { to "$HOME/Maildir/.Junk/." } }}7、配置DSPAM Web 界面

安装相关的rpm包:

 

shell

# yum install perl-GDGraph
# yum install perl-GD-Graph3d
# yum install dspam-web

创建dspam-web 认证用户:

 

shell

# cd /usr/share/dspam/webui/cgi-bin
# echo “extmail” > admins
# htpasswd -c .htpasswd extmail

输入认证密码

New password: Re-type new password: Adding password for user extmail

启动 dspam-web 守护进程

 

shell

# service dspam-webd start

这实际是启动了mini_httpd进程,查看 mini_httpd 是否启动正常:

 

shell

# ps aux |grep mini

显示以下内容:

dspam 18580 0.0 0.3 4152 820 ? Ss 20:05 0:00 mini_httpd -C /etc/dspam/webui.confroot 18582 0.0 0.2 5316 668 pts/0 S+ 20:05 0:00 grep mini

重启 apache

 

shell

# service httpd restart

访问 dspam-web

http://mail.example.com/dspam

输入你在 .htpasswd 文件中创建的用户和密码





      本文转自glying 51CTO博客,原文链接:http://blog.51cto.com/liying/968543,如需转载请自行联系原作者







版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
webpack-dev-server 的常用命令参数| 学习笔记
快速学习 webpack-dev-server 的常用命令参数
0 0
webpack-dev-server 配置命令的第2种方式| 学习笔记
快速学习 webpack-dev-server 配置命令的第2种方式
0 0
webpack-dev-server启动后,localhost:8080返回index.html的原理
webpack-dev-server启动后,localhost:8080返回index.html的原理
0 0
验证EF的Code First自动添加数据库到SQL SERVER
一、 原理分析     Database First先设计数据库后设计程序,程序高度依赖于数据库中的表。EF的Code First是可以自动添加数据库到SQL SERVER。
828 0
让SQL Server Compact支持 Membership, Role and Profile provider
功能描述: 实现在使用SQL Server Compact4.0数据库的网站里也能用“会员、角色、配置”功能作为表单验证等。 功能说明: 此功能由Nuget.org提供,它支持所有的SQL Sever 2005以上的版本,当然其中也包括SQL Server Compact 4.0.更多详细说明请点击这里。
527 0
Sql server 2008 sa用户开启教程
步骤一:首先,以window身份验证的方式登录到数据库. 步骤二:按照下图所示操作.                         步骤三:在登录名sa上右击鼠标,选择属性.打开属性对话框. (1)   在左上角选择页中选择常规.再在SQL Server身份验证中填写 要使用的密码. (2)   再切换到状态选择页中.将登录中的启用选中.     第四步:右击实例名称(就是下图画红线的部分),选择属性。
550 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
A Con&nuously Deployed Hadoop Analy&cs pla2orm
立即下载
MongoShake -- Multi Active-Active and Cross-Region Disaster Recoverable MongoDB Service
立即下载
低代码开发师(初级)实战教程
立即下载