十四、配置dspam--EXTMAIL

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
简介:

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,如需转载请自行联系原作者







相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
Kubernetes 搜索推荐 数据安全/隐私保护
Containerd ctr、crictl、nerdctl 实战
Containerd ctr、crictl、nerdctl 实战
5256 1
|
canal Kubernetes 网络架构
K8s CNI 网络最强对比:Flannel、Calico、Canal 和 Weave
Kubernetes 采用的 CNI 标准,让 Kubernetes 生态系统中的网络解决方案百花齐放。更多样的选择,意味着大多数用户将能够找到适合其当前需求和部署环境的 CNI 插件,同时还可以在环境发生变化时也能找到新的解决方案。
4582 1
|
6月前
|
NoSQL 安全 关系型数据库
Redis:持久化的两种方式
Redis持久化机制主要包括RDB和AOF两种方式。RDB通过生成数据快照进行持久化,支持手动或自动触发,具有加载速度快、文件紧凑等特点,但无法实时保存数据。AOF则记录每个操作命令,保障数据更安全,支持多种写入策略,并可通过重写机制优化文件大小。两者各有优劣,常结合使用以兼顾性能与数据安全。
|
7天前
|
缓存 架构师 前端开发
MiniMax M2.5 开源,低成本Agent时代来了!社区Day0部署、工具调用、推理&提示词参数实战来啦!
2月13日,MiniMax发布M2.5大模型,108天内三连更!编程(SWE-Bench 80.2%)、搜索(BrowseComp 76.3%)、办公场景全面领先,开源权重已上线ModelScope,支持API调用、本地部署及工具调用。
906 7
THW
|
3月前
|
人工智能 JSON API
免费的模型API平台盘点
本文盘点了当前可免费使用的大模型 API 平台,涵盖主流模型、调用限制与适用场景,助你低成本体验和集成各类 AI 能力。
THW
4690 7
|
分布式计算 Kubernetes 监控
容器服务Kubernetes版产品使用合集之registry.aliyuncs.com/google_containers 镜像仓库的地址是什么
容器服务Kubernetes版,作为阿里云提供的核心服务之一,旨在帮助企业及开发者高效管理和运行Kubernetes集群,实现应用的容器化与微服务化。以下是关于使用这些服务的一些建议和合集,涵盖基本操作、最佳实践、以及一些高级功能的使用方法。
1532 0
|
XML 测试技术 Shell
SIPP不同的安装模式和做测试
SIPP不同的安装模式和做测试
|
6天前
|
人工智能 自然语言处理 JavaScript
2026年Windows+Ollama本地部署OpenClaw保姆级教程:本地AI Agent+阿里云上快速搭建
2026年OpenClaw凭借本地部署、私有化运行的特性,成为打造个人智能体的核心工具,而Ollama作为轻量级本地大模型管理工具,能让OpenClaw摆脱对云端大模型的依赖,实现**本地推理、数据不泄露、全流程私有化**的智能体验。本文基于Windows 11系统,从硬件环境准备、Ollama安装与模型定制、OpenClaw部署配置、技能扩展到常见问题排查,打造保姆级本地部署教程,同时补充阿里云OpenClaw(Clawdbot)快速部署步骤,兼顾本地私有化需求与云端7×24小时运行需求,文中所有代码命令均可直接复制执行,确保零基础用户也能快速搭建属于自己的本地智能体。
7607 55
|
3天前
|
人工智能 安全 API
CoPaw:3分钟部署你的 AI助理
源自阿里巴巴开源生态的个人 AI 助理——CoPaw。作为阿里倾力打造的开源力作,CoPaw 完美打通钉钉、飞书、Discord 等多平台对话通道,支持定时任务自动化。内置 PDF/Office 深度处理、新闻摘要等强大技能,更开放自定义扩展接口。坚持数据全程私有化部署,绝不上传云端,让每一位用户都能在大厂技术加持下,拥有安全、专属的智能助手。
|
7天前
|
人工智能 JSON JavaScript
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人
手把手教你用 OpenClaw(v2026.2.22-2)+ 飞书,10分钟零代码搭建专属AI机器人!内置飞书插件,无需额外安装;支持Claude等主流模型,命令行一键配置。告别复杂开发,像聊同事一样自然对话。
3673 10
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人