免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3274 | 回复: 7
打印 上一主题 下一主题

[Mail] SPSmtpGate: SMTP 反垃圾邮件网关 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-16 22:08 |只看该作者 |倒序浏览
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 之间。系统结构如下图所示。



  1.                                    ---------------   
  2.                                   |                 |
  3.                                   |   Milter     |
  4.                                   |                 |
  5.                                   ---------------   
  6.                                         /|\
  7.                                          |
  8.                                          |
  9.   -------------              ---------------             -----------------
  10.   |                |            |                      |            |                   |
  11.   | Internet    |  -----> | SPSmtpGate     |  ----->  | Local MTA    |
  12.   |                |            |                      |            |                   |
  13.   -------------              ---------------             -----------------

复制代码


由于采用了透明 proxy 的模式,对于原有的系统影响非常小,只需要修改少量的配置。
如果 SPSmtpGate 和 Local MTA 部署在同一台机器,那么修改 Local MTA 的配置,使得它使用 25 之外的端口,比如 2025 端口;然后由 SPSmtpGate 来接管 25 端口,同时修改 SPSmtpGate 的配置文件,把 Local MTA 作为 backend 。

SPSmtpGate 使用的配置文件

  1. [Server]                  ; spsmtpgate 的一些控制参数
  2. MaxConnections = 1024     ; 最大并发连接数
  3. SocketTimeout = 600       ; 和 internet 上其他主机通信的超时时间
  4. MaxThreads = 128          ; 最多使用的线程数
  5. MaxReqQueueSize = 128     ; 最大的队列长度

  6. [Backend]                    ; 后端 MTA 的相关信息
  7. ConnectTimeout = 5           ; 连接超时时间
  8. ConnectRetry = 3             ; 连接重试次数
  9. SocketTimeout = 10           ; socket 通信超时时间
  10. ServerCount = 1              ; 有多少台后端 MTA 可用
  11. Server0 = 127.0.0.1:2025 10  ; 第一台可用的后端 MTA

  12. [MailFilter]                 ; milter 模块的相关信息
  13. 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 的格式。


  1. S=inet:1111@127.0.0.1, F=T, T=C:5s;S:10s;R:10s;E:1m

  2. S= 表示 Milter 的连接端口,可以使用 local:/var/run/f1.sock 或者 inet:1111@127.0.0.1 的方式。

  3. F= 表示应用以下哪个标志:
  4. R         如果过滤器不可用,那么拒绝连接。
  5. T         如果过滤器不可用,那么使连接临时失效。

  6. 通过为 T= 指定一个值,可以覆盖缺省超时值。等式 T= 使用以下字段:

  7. C         连接到过滤器的超时值
  8. S         将信息从 MTA 发送到过滤器的超时值。
  9. R         从过滤器读取应答的超时值。
  10. E         向过滤器发送消息结束通知与等待最终确认之间的总超时值。
  11. 如以上示例中所示,每个超时之间的分隔符是分号(;),每个等式之间的分隔符是逗号(,)。
  12. 缺省的超时值如下:

  13. T=C:0m;S:10s;R:10s;E:5m

  14. 其中 s 代表秒,m 代表分钟。

复制代码

[ 本帖最后由 iunknown 于 2009-4-16 22:16 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-04-16 22:50 |只看该作者
原创一定要顶

论坛徽章:
0
3 [报告]
发表于 2009-04-18 22:41 |只看该作者
原帖由 sxqw 于 2009-4-16 22:50 发表
原创一定要顶






目前只支持 milter 这个功能,理论上可以做到和 sendmail 同等的效果。

这里有没有人对于这样一个项目有兴趣?可以说一下需求或者建议,对于一些合适的建议,后续可以加上去

论坛徽章:
0
4 [报告]
发表于 2009-04-21 17:46 |只看该作者
ExtMail团队对milter很有兴趣。希望能和您联系。已留站内信

论坛徽章:
0
5 [报告]
发表于 2009-04-21 21:42 |只看该作者
原帖由 hzqbbc 于 2009-4-21 17:46 发表
ExtMail团队对milter很有兴趣。希望能和您联系。已留站内信



刚才去 ExtMail 的论坛看了一圈,佩服啊,已经做了那么久了。

论坛徽章:
0
6 [报告]
发表于 2009-04-21 23:20 |只看该作者
SPSmtpGate 能兼容qmail吗?

论坛徽章:
0
7 [报告]
发表于 2009-04-22 09:22 |只看该作者
原帖由 netocool 于 2009-4-21 23:20 发表
SPSmtpGate 能兼容qmail吗?


SPSmtpGate 是采用透明 proxy 的模式来工作的,因此不会和 backend 的 MTA 有过多的耦合。
MTA 通常都是按标准实现 smtp 协议的,SPSmtpGate 也是实现标准的 smtp 协议,因此通常不会有兼容性的问题。

不过目前的确还没有拿 qmail 来测试过,之前用一些简单的方式测试了一下国内几个大的 Mail 提供商的 ESMTP 服务器,都可以顺利的工作。

论坛徽章:
1
处女座
日期:2014-01-21 13:20:51
8 [报告]
发表于 2009-06-02 14:00 |只看该作者
我试了一下ASSP
功能太多了,都不会用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP