郵件系統postfix安裝配置指南
在Internet世界中,大部分的電子郵件都是通過sendmail來投遞的,大約有100萬用戶使用sendmail,每天投遞上億封郵件。這真實一個讓人吃驚的數字。Postfix試圖更快、更容易管理、更安全,同時還與sendmail保持足夠的兼容性。以下介紹postfix安裝配置
郵件系統postfix安裝配置
一、postfix概述
postfix是WietseVenema在IBM的GPL協議之下開發的MTA(郵件傳輸代理)軟件。下面一段話摘自postfix的官方站點:“postfix是WietseVenema想要為使用最廣泛的sendmail提供替代品的一個嘗試。在Internet世界中,大部分的電子郵件都是通過sendmail來投遞的,大約有100萬用戶使用sendmail,每天投遞上億封郵件。這真實一個讓人吃驚的數字。Postfix試圖更快、更容易管理、更安全,同時還與sendmail保持足夠的兼容性。”
二、postfix的特點
1.postfix是免費的:
postfix想要作用的范圍是廣大的Internet用戶,試圖影響大多數的Internet上的電子郵件系統,因此它是免費的。
2.更快:
postfix在性能上大約比sendmail快三倍。一部運行postfix的臺式PC每天可以收發上百萬封郵件。
3.兼容性好:
postfix是sendmail兼容的,從而使sendmail用戶可以很方便地遷移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、NIS、和~/.forward文件。
4.更健壯:
postfix被設計成在重負荷之下仍然可以正常工作。當系統運行超出了可用的內存或磁盤空間時,postfix會自動減少運行進程的數目。當處理的郵件數目增長時,postfix運行的進程不會跟著增加。
5.更靈活:
postfix是由超過一打的小程序組成的,每個程序完成特定的功能。你可以通過配置文件設置每個程序的運行參數。
6.安全性
postfix具有多層防御結構,可以有效地抵御惡意入侵者。如大多數的postfix程序可以運行在較低的權限之下,不可以通過網絡訪問安全性相關的本地投遞程序等等。
三、postfix的總體結構
postfix由十幾個具有不同功能的半駐留進程組成,并且在這些進程中并無特定的進程間父子關系。某一個特定的進程可以為其他進程提供特定的服務。大多數的postfix進程由一個進程統一進行管理,該進程負責在需要的時候調用其他進程,這個管理進程就是master進程。該進程也是一個后臺程序。這些postfix進程是可以配置的,我們可以配置每個進程運行的數目,可重用的次數,生存的時間等等。通過靈活的配置特性可以使整個系統的運行成本大大降低。
postfix的郵件隊列(mailqueues)
postfix有四種不同的郵件隊列,并且由隊列管理進程統一進行管理:
1.maildrop:本地郵件放置在maildrop中,同時也被拷貝到incoming中。
2.incoming:放置正在到達或隊列管理進程尚未發現的郵件。
3.active:放置隊列管理進程已經打開了并正準備投遞的郵件,該隊列有長度的限制。
4.deferred:放置不能被投遞的郵件。
隊列管理進程僅僅在內存中保留active隊列,并且對該隊列的長度進行限制,這樣做的目的是為了避免進程運行內存超過系統的可用內存。
四、postfix對郵件風暴的處理
當有新的郵件到達時,postfix進行初始化,初始化時postfix同時只接受兩個并發的連接請求。當郵件投遞成功后,可以同時接受的并發連接的數目就會緩慢地增長至一個可以配置的值。當然,如果這時系統的消耗已到達系統不能承受的負載就會停止增長。還有一種情況時,如果postfix在處理郵件過程中遇到了問題,則該值會開始降低。當接收到的新郵件的數量超過postfix的投遞能力時,postfix會暫時停止投遞deferred隊列中的郵件而去處理新接收到的郵件。這是因為處理新郵件的延遲要小于處理deferred隊列中的郵件。
五、postfix對無法投遞的郵件的處理
當一封郵件第一次不能成功投遞時,postfix會給該郵件貼上一個將來的時間郵票。郵件隊列管理程序會忽略貼有將來時間郵票的郵件。時間郵票到期時,postfix會嘗試再對該郵件進行一次投遞,如果這次投遞再次失敗,postfix就給該郵件貼上一個兩倍于上次時間郵票的時間郵票,等時間郵票到期時再次進行投遞,依此類推。當然,經過一定次數的嘗試之后,postfix會放棄對該郵件的投遞,返回一個錯誤信息給該郵件的發件人。postfix對不可到達的目的地郵件的處理,postfix會在內存中保存一個有長度限制的當前不可到達的地址列表。這樣就避免了對那些目的地為當前不可到達地址的郵件的投遞嘗試。從而大大提高了系統的性能。
1.postfix的安全性
postfix通過一系列的措施來提高系統的安全性,這些措施包括:
(1).動態分配內存,從而防止系統緩沖區溢出;
(2).把大郵件分割成幾塊進行處理,投遞時再重組;
(3).Postfix的各種進程不在其他用戶進程的控制之下運行,而是運行在駐留主進程master的控制之下,與其他用戶進程無父子關系,所有有很好的絕緣性。
(4).Postfix的隊列文件有其特殊的格式,只能被postfix本身識別;以上介紹postfix安裝配置。
【編輯推薦】