- 論壇徽章:
- 0
|
SPSmtpGate 是一個反垃圾郵件網(wǎng)關(guān),支持 Sendmail 8 的 Milter 協(xié)議,采用透明 smtp proxy 的模式。Milter 協(xié)議由 Sendmail 公司提出,在 Sendmail 和 Postfix 中都有實(shí)現(xiàn)。目前開源的 Milter 模塊非常豐富,如果搭配的好,這些 milter 可以有效地?cái)r截垃圾郵件。借助于 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 之間。系統(tǒng)結(jié)構(gòu)如下圖所示。
- ---------------
- | |
- | Milter |
- | |
- ---------------
- /|\
- |
- |
- ------------- --------------- -----------------
- | | | | | |
- | Internet | -----> | SPSmtpGate | -----> | Local MTA |
- | | | | | |
- ------------- --------------- -----------------
復(fù)制代碼
由于采用了透明 proxy 的模式,對于原有的系統(tǒng)影響非常小,只需要修改少量的配置。
如果 SPSmtpGate 和 Local MTA 部署在同一臺機(jī)器,那么修改 Local MTA 的配置,使得它使用 25 之外的端口,比如 2025 端口;然后由 SPSmtpGate 來接管 25 端口,同時(shí)修改 SPSmtpGate 的配置文件,把 Local MTA 作為 backend 。
SPSmtpGate 使用的配置文件
- [Server] ; spsmtpgate 的一些控制參數(shù)
- MaxConnections = 1024 ; 最大并發(fā)連接數(shù)
- SocketTimeout = 600 ; 和 internet 上其他主機(jī)通信的超時(shí)時(shí)間
- MaxThreads = 128 ; 最多使用的線程數(shù)
- MaxReqQueueSize = 128 ; 最大的隊(duì)列長度
- [Backend] ; 后端 MTA 的相關(guān)信息
- ConnectTimeout = 5 ; 連接超時(shí)時(shí)間
- ConnectRetry = 3 ; 連接重試次數(shù)
- SocketTimeout = 10 ; socket 通信超時(shí)時(shí)間
- ServerCount = 1 ; 有多少臺后端 MTA 可用
- Server0 = 127.0.0.1:2025 10 ; 第一臺可用的后端 MTA
- [MailFilter] ; milter 模塊的相關(guān)信息
- Filter0 = "S=inet:1111@127.0.0.1, T=C:5s;S:10s;R:10s;E:1m"
復(fù)制代碼
通常需要修改 [Backend] 和 [MailFilter] 這兩個配置節(jié)。
1)首先修改 Server0 這里的內(nèi)容,指向具體的 MTA 主機(jī)和端口
2)其次修改 MailFilter 的內(nèi)容,指向具體的 Milter 模塊。Milter 的配置內(nèi)容采用 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= 表示應(yīng)用以下哪個標(biāo)志:
- R 如果過濾器不可用,那么拒絕連接。
- T 如果過濾器不可用,那么使連接臨時(shí)失效。
- 通過為 T= 指定一個值,可以覆蓋缺省超時(shí)值。等式 T= 使用以下字段:
- C 連接到過濾器的超時(shí)值
- S 將信息從 MTA 發(fā)送到過濾器的超時(shí)值。
- R 從過濾器讀取應(yīng)答的超時(shí)值。
- E 向過濾器發(fā)送消息結(jié)束通知與等待最終確認(rèn)之間的總超時(shí)值。
- 如以上示例中所示,每個超時(shí)之間的分隔符是分號(;),每個等式之間的分隔符是逗號(,)。
- 缺省的超時(shí)值如下:
- T=C:0m;S:10s;R:10s;E:5m
- 其中 s 代表秒,m 代表分鐘。
復(fù)制代碼
[ 本帖最后由 iunknown 于 2009-4-16 22:16 編輯 ] |
|