SPSmtpGate 是一个反垃圾邮件网关,支持 Sendmail 8 的 Milter 协议,采用透明 smtp proxy 的模式。Milter 协议由 Sendmail 公司提出,在 Sendmail 和 Postfix 中都有实现。目前开源的 Milter 模块非常丰富,如果搭配的好,这些 milter 可以有效地拦截垃圾邮件。借助于 SPSmtpGate ,SendMail/Postfix 之外的其他 MTA 也可以方便地利用这些 Milter 模块。
http://code.google.com/p/spsmtpgate/
http://spsmtpgate.googlecode.com/files/spsmtpgate-0.1.src.tar.gz
SPSmtpGate 部署在 Internet 和本地 MTA 之间。系统结构如下图所示。
---------------
| |
| Milter |
| |
---------------
/|\
|
|
------------- --------------- -------------
| | | | | |
| Internet | -----> | SPSmtpGate | -----> | Local MTA |
| | | | | |
------------- --------------- -------------
由于采用了透明 proxy 的模式,对于原有的系统影响非常小,只需要修改少量的配置。
如果 SPSmtpGate 和 Local MTA 部署在同一台机器,那么修改 Local MTA 的配置,使得它使用 25 之外的端口,比如 2025 端口;然后由 SPSmtpGate 来接管 25 端口,同时修改 SPSmtpGate 的配置文件,把 Local MTA 作为 backend 。
SPSmtpGate 使用的配置文件
[Server] ; spsmtpgate 的一些控制参数
MaxConnections = 1024 ; 最大并发连接数
SocketTimeout = 600 ; 和 internet 上其他主机通信的超时时间
MaxThreads = 128 ; 最多使用的线程数
MaxReqQueueSize = 128 ; 最大的队列长度
[Backend] ; 后端 MTA 的相关信息
ConnectTimeout = 5 ; 连接超时时间
ConnectRetry = 3 ; 连接重试次数
SocketTimeout = 10 ; socket 通信超时时间
ServerCount = 1 ; 有多少台后端 MTA 可用
Server0 = 127.0.0.1:2025 10 ; 第一台可用的后端 MTA
[MailFilter] ; milter 模块的相关信息
Filter0 = "S=inet:1111@127.0.0.1, T=C:5s;S:10s;R:10s;E:1m"
通常需要修改 [Backend] 和 [MailFilter] 这两个配置节。
1)首先修改 Server0 这里的内容,指向具体的 MTA 主机和端口
2)其次修改 MailFilter 的内容,指向具体的 Milter 模块。Milter 的配置内容采用 Sendmail 的格式。
S=inet:1111@127.0.0.1, F=T, T=C:5s;S:10s;R:10s;E:1m
S= 表示 Milter 的连接端口,可以使用 local:/var/run/f1.sock 或者 inet:1111@127.0.0.1 的方式。
F= 表示应用以下哪个标志:
R 如果过滤器不可用,那么拒绝连接。
T 如果过滤器不可用,那么使连接临时失效。
通过为 T= 指定一个值,可以覆盖缺省超时值。等式 T= 使用以下字段:
C 连接到过滤器的超时值
S 将信息从 MTA 发送到过滤器的超时值。
R 从过滤器读取应答的超时值。
E 向过滤器发送消息结束通知与等待最终确认之间的总超时值。
如以上示例中所示,每个超时之间的分隔符是分号(;),每个等式之间的分隔符是逗号(,)。
缺省的超时值如下:
T=C:0m;S:10s;R:10s;E:5m
其中 s 代表秒,m 代表分钟。
分享到:
相关推荐
[反垃圾邮件] MailCleaner是一个反垃圾邮件/防病毒过滤器SMTP网关,具有用户和管理Web界面,隔离,多域,多模板,多语言。 使用贝叶斯,RBL,Spamassassin,MailScanner,ClamAV。 基于Debian。 企业准备就绪。 ...
在这个阶段就断开了连接,有效的节约了垃圾邮件造成的带宽和处理能力的浪费。该规则通常置于规则列表的最后面使规则更清晰。 拒绝动作默认不会在匹配了拒绝规则后就即时断开连接,而是在rcpt to指令处理完之后再断开...
RadicalSpam是在GPL v2下分发的免费开源软件包,包括Postfix,SpamAssassin Amavisd-new,Clamav,Razor,DCC,... 提供安全的SMTP中继,可以在Linux和docker环境中使用。 详细信息:http://www.radical-spam.org
反垃圾邮件SMTP代理(ASSP)服务器项目旨在创建一个独立于开源平台的SMTP代理服务器,该服务器实现自动白名单,自学习的隐马尔可夫模型和/或贝叶斯,灰名单,DNSBL,DNSBL,URIBL,SPF ,SRS,反向散射,病毒扫描,...
主要介绍了在Ruby中利用Net::SMTP类发送电子邮件的教程,包括类中所带方法的用法介绍,需要的朋友可以参考下
反垃圾邮件技术主要包括:垃圾邮件过滤技术、邮件服务器的安全管理和培植技术以及对简单邮件通信协议(SMTP)的改进研究等。
反垃圾邮件SMTP代理(ASSP)服务器项目旨在创建一个独立于开源平台的SMTP代理服务器,该服务器实现自动白名单,自学习的隐马尔可夫模型和/或贝叶斯,灰名单,DNSBL,DNSBL,URIBL,SPF ,SRS,反向散射,病毒扫描,...
domino在发外网邮件时,mail.box中报错:SMTP Protocol Returned a Permanent Error 554 Relay access denied
docker-assp 反垃圾邮件 SMTP 代理
本文是 基于SMTP协议的模拟邮件系统的 课程设计报告 全文包括:设计内容、需求分析、系统总体设计(系统功能模块设计、系统数据库总体设计、)、数据库设计、系统功能设计与实现、总结与反思(问题及解决问题、收获...
基础邮件系统的安装(基于postfix)及反垃圾设置
SMTP错误码建议解决方法
SMTP控制垃圾邮件SMTP控制垃圾邮件SMTP控制垃圾邮件
通过对“基于SMTP协议的邮件发送客户端程序”的系统分析、系统设计、编码、调试等工作的实践,了解基于TCP/IP协议的网络编程的一般设计和实现思路,熟悉和掌握软件设计和实现的一般方法,深入了解邮件传输协议的基本...
基于邮件交换(MX)与SMTP协议发送邮件,可以无须SMTP服务器中转直接将E-Mail电子邮件发送到对方邮箱,代码中提供了网卡信息获取类,可以获取本机IP地址、子网掩码、DNS、Wins、网卡MAC地址等相关信息;还提供了SMTP协议...
追逐 是一种SMTP(电子邮件)服务器,其重点是简单性,安全性和易操作性。 它主要是针对个人和小组设计的。... 与灰名单,防病毒,反垃圾邮件和DKIM / DMARC集成的。 国际用户名( )和域名( )。 安全 每个域
(2)不登录自己的邮箱,而直接使用该客户软件新建邮件,不过要手动设置自己的SMTP服务器,然后再发送邮件! 1、SMTP服务器设置 2、写邮件 3、群发邮件 二、设置技巧 (1)本系统的实现首先需要下载mail.jar包...
一般情况下,当您发送的邮件无法正常到达收件人时,mail 邮件系统将会自动给您发一封警告信,这封退信通知里面包含了无法正常发送到对方邮件地址的原因,所以绝大多数情况下可以通过退信通知来找出发信失败的原因及...
前段时间公司有项目需要使用C#的SMTP 发邮件功能,在网上搜索了下,网上没有一个完整的解决方案,都是东说语句西说一句,几乎扯淡,对于我们这些伟大的程序员来说,就是完整的解决版本,所以直接上代码是最现实。...
使用smtp实现Java发送邮件源码,整个一个项目工程,导入工程就能使用