EXWOLF討論區's Archiver

wolf 發表於 2008-3-11 15:07

企業Sendmail郵件服務器的創建(1)

人們在Internet上最常使用的就是電子郵件,很多企業用戶也經常使用電子郵件係統。在Unix係統中,Sendmail是應用最廣的電子郵件服務器。本文將比較詳細地介紹如何建立一個Sendmail電子郵件服務器,以滿足企業的基本需求。 中國
/e;tb Wz8u!w\(k0sY -h;]9A+z&U\
一、Sendmail的工作模式
i0U D-K%IR/A \)z'i[ 6[0p&W/TIL9tLO
Sendmail是最重要的郵件傳輸代理程序。理解電子郵件的工作模式是非常重要的。一般情況下,電子郵件係統可分為用戶代理、傳輸代理和投遞代理幾個部分。用戶代理用來接受用戶的指令,將用戶的信件傳送至信件傳輸代理,如Outlook Express和Foxmail等。而投遞代理則從信件傳輸代理取得信件傳送至最終用戶的郵箱,如Procmail。
A%o+hK6Io,B`IYvI ,wb+a1?C/BG
當用戶試圖發送一封電子郵件的時候,他並不能直接將信件發送到對方的機器上,用戶代理必須試圖去尋找一個信件傳輸代理,把郵件提交給它。信件傳輸代理得到了郵件後,首先將它保存在自身的緩衝隊列中,然後,根據郵件的目標地址,信件傳輸代理程序將找到應該對這個目標地址負責的郵件傳輸代理服務器,再通過網絡將郵件傳送給它。對方的服務器接收到郵件之後,將其緩衝存儲在本地,直到電子郵件的接收者查看自己的電子信箱。
D \gy xS9M +ll!G:{2`t+r O \6`-o+j
顯然,郵件傳輸是從服務器到服務器的,而且每個用戶必須擁有服務器上存儲信息的空間(稱為信箱)才能接受郵件(發送郵件不受這個限制)。可以看到,一個郵件傳輸代理的主要工作是監視用戶代理的請求,根據電子郵件的目標地址找出對應的郵件服務器,將信件在服務器之間傳輸並且將接收到的郵件緩衝或者 提交給最終投遞程序。 有許多程序可以作為信件傳輸代理。在Unix係統中,Sendmail是其中應用最廣泛的一個,它是一個免費軟件,可以支持數千甚至更多的用戶,而且佔用的係統資源相當少。不過,Sendmail的配置十分復雜,因此,也有人使用另外的一些工具,如Qmail或Postfix等等。
c+vb^C y-Q9dC tzG
當Sendmail程序得到一封待發送的郵件的時候,它需要根據目標地址確定將信件投遞給對應的服務器,這是通過DNS服務實現的。例如一封郵件的目標地址是[email]ideal@linuxaid.com.cn[/email],那么Sendmail首先確定這個地址是用戶名(ideal)+機器名(linuxaid.com.cn)的格式,然後,通過查詢DNS來確定需要把信件投遞給某個服務器。 [color=#f5fafe][/color] o/zg6R3e
DNS數據中,與電子郵件相關的是信件交換(Message eXchange,MX)記錄,例如在linuxaid.com.cn這個域的dns數據文件中有如下設置: [color=#f5fafe][/color]
#I4ZH-Vl&A IN MX 10 mail 0bFp'aBvV
5S+g3Le Z
IN MX 20 mail1 [color=#f5fafe]Www.[/color]
s!]+L/s[FjRl\ En mail IN A 202.99.11.120 6nX0Z7Hmg m2{J
zRz#r4A0sA
mail1 IN A 202.99.11.121 9Nw6UHC \)|
2k+F3T rH'O
顯然,在DNS中說明linuxaid.com.cn有2個MX服務器,於是,Sendmail試圖將郵件發送給兩者之一。一般來說,排在前面的MX服務器的優先級別比較高,因此服務器將試圖連接mail.linuxaid.com.cn的25端口,試圖將信件報文轉發給它。如果成功,SMTP服務器的任務就完成了。在這以後的任務,將由mail.linuxaid.com.cn來完成。在一般情況下,MX服務器會自動把信件內容轉交給目標主機。不過,也存在這樣的情況,目標主機(比如linuxaid.com.cn)可能並不存在,或者不執行SMTP服務,而是由其MX服務器來執行信件的管理,這時候,最終的信件將保存在MX機器上,直到用戶來查看它。
$fo2`2Q"tXf\
,o7k'_/E+m"C 如果DNS查詢無法找出對某個地址的MX記錄(通常因為對方沒有信件交換主機),那么Sendmail將試圖直接與來自郵件地址的主機對話並且發送郵件。例如,[email]test@aidgroup.linuxaid.com.cn[/email],DNS中沒有對應的MX記錄,因此Sendmail在確定MX服務器失敗後,將從DNS取得對方的IP地址並直接和對方對話試圖發送郵件。

頁: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.