Postfix 進入 3.0.0 時代,大量熱辣新特性出現
Postfix 3.0.0 正式版發布了,這次發布也標志著對其 2.8 版本的支持結束。
Postfix 2.x 系列從2003年開始發表,已經維護了十余年了。這次大版本跨越,帶來了許多有趣的特性改進,主要如下:
-
增加了SMTPUTF8 支持,支持使用國際化的域名和本地地址部分,它們由 RFC 6530 及相關文檔定義(即支持類似這樣的郵件地址: 商務@公司.中國,支持@技術.KX上網)。該實現是基于由 CNNIC 贊助的 Arnt Gulbrandsen 所提供的代碼的。SMTPUTF8 的支持還在持續開發中, 預計會在 3.1 中完成。參見 SMTPUTF8_README 。
-
支持 Postfix 使用動態鏈接庫和數據庫插件。參見 INSTALL 查看可用選項的描述。
-
由于 3.0 和2.x 系列的一些默認值不同,因此 Postfix 提供了一種安全網機制(compatibility_level),可以用來兼容老版本的 2.x 設置。參見 COMPATIBILITY_README 了解更多細節。
-
支持對多個查詢表的復合查詢。如 pipemap:{map1,map2...} 支持多個查詢表以管道方式連接起來(即前一個查詢表的結果作為后一個查詢表的查詢條件);而 unionmap:{map1,map2,...} 會將同樣的查詢發送到多個查詢表,并將結果聯合起來返回。
-
支持簡單的偽查詢表。如 inline:{key1=value1,key2=value2,...} 可以用于替代只有幾個值的外部文件查詢;而 randmap{value1,value2,...} 則可以從幾個特定值內隨機選擇一個。
-
支持對DNS 查詢結果和投遞狀態代碼和信息的查表轉換。典型的,可以使用 PCRE 表來修復 DNS 查詢的錯誤或投遞錯誤信息。參見 smtp_dns_reply_filter、 smtp_delivery_status_filter 和 similarly-named 等參數。
-
配置文件支持三元操作符,如 ${name?{iftrue}:{iffalse}};比較操作符,如 ${{expr1}==${expr2}?{iftrue}:{iffalse}};對每個過濾器/策略服務器指定超時及其它設置; master.cf 參數支持空格,輸入和輸出的環境變量可以包含空格,靜態表查詢結果可以包含空格;對 accsess(5)和 header/body_checks(5) 的多表查詢支持預期在 3.1 版本完成。
-
入站郵件會話的命令交互情況按照會話進行記錄。例如,一個暴力攻擊密碼的機器人會記錄為: "disconnect from name[addr] ehlo=1 auth=0/1 commands=1/2",這代表著該客戶端發送了一個成功的 EHLO 命令,而 AUTH 命令失敗,并且沒有 QUIT 即斷開會話了。這些信息有助于你從大量日志中梳理出問題脈絡。
更多細節信息可以參閱發布公告,及源代碼中附帶的 README_FILES、INSTALL 等文檔。
Postfix 3.0.0 下載地址: ftp://mir1.ovh.net/ftp.postfix.org/postfix-release/index.html (或選擇其他的鏡像)。
原文:http://www.postfix.org/announcements/postfix-3.0.0.html
作者: wxy
譯文:LCTT http://linux.cn/article-4863-1.html