資源描述:
《企業(yè)sendmail郵件服務(wù)器的創(chuàng)建》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、企業(yè)Sendmail郵件服務(wù)器的創(chuàng)建 人們?cè)贗nter上最常使用的就是電子郵件,很多企業(yè)用戶也經(jīng)常使用電子郵件系統(tǒng)。在Unix系統(tǒng)中,Sendmail是應(yīng)用最廣的電子郵件服務(wù)器。本文將比較詳細(xì)地介紹如何建立一個(gè)Sendmail電子郵件服務(wù)器,以滿足企業(yè)的基本需求?! ∫?、Sendmail的工作模式 Sendmail是最重要的郵件傳輸代理程序。理解電子郵件的工作模式是非常重要的。一般情況下,電子郵件系統(tǒng)可分為用戶代理、傳輸代理和投遞代理幾個(gè)部分。用戶代理用來接受用戶的指令,將用戶的信件傳送至信件傳輸代理,如OutlookExpress和Fo
2、xmail等。而投遞代理則從信件傳輸代理取得信件傳送至最終用戶的郵箱,如Procmail?! ‘?dāng)用戶試圖發(fā)送一封電子郵件的時(shí)候,他并不能直接將信件發(fā)送到對(duì)方的機(jī)器上,用戶代理必須試圖去尋找一個(gè)信件傳輸代理,把郵件提交給它。信件傳輸代理得到了郵件后,首先將它保存在自身的緩沖隊(duì)列中,然后,根據(jù)郵件的目標(biāo)地址,信件傳輸代理程序?qū)⒄业綉?yīng)該對(duì)這個(gè)目標(biāo)地址負(fù)責(zé)的郵件傳輸代理服務(wù)器,再通過網(wǎng)絡(luò)將郵件傳送給它。對(duì)方的服務(wù)器接收到郵件之后,將其緩沖存儲(chǔ)在本地,直到電子郵件的接收者查看自己的電子信箱?! ★@然,郵件傳輸是從服務(wù)器到服務(wù)器的,而且每個(gè)用戶必須擁有服
3、務(wù)器上存儲(chǔ)信息的空間(稱為信箱)才能接受郵件(發(fā)送郵件不受這個(gè)限制)??梢钥吹?,一個(gè)郵件傳輸代理的主要工作是監(jiān)視用戶代理的請(qǐng)求,根據(jù)電子郵件的目標(biāo)地址找出對(duì)應(yīng)的郵件服務(wù)器,將信件在服務(wù)器之間傳輸并且將接收到的郵件緩沖或者提交給最終投遞程序。有許多程序可以作為信件傳輸代理。在Unix系統(tǒng)中,Sendmail是其中應(yīng)用最廣泛的一個(gè),它是一個(gè)免費(fèi)軟件,可以支持?jǐn)?shù)千甚至更多的用戶,而且占用的系統(tǒng)資源相當(dāng)少。不過,Sendmail的配置十分復(fù)雜,因此,也有人使用另外的一些工具,如Qmail或Postfix等等。 當(dāng)Sendmail程序得到一封待發(fā)送的
4、郵件的時(shí)候,它需要根據(jù)目標(biāo)地址確定將信件投遞給對(duì)應(yīng)的服務(wù)器,這是通過DNS服務(wù)實(shí)現(xiàn)的。例如一封郵件的目標(biāo)地址是ideallinuxaid..,那么Sendmail首先確定這個(gè)地址是用戶名(ideal)+機(jī)器名(linuxaid..)的格式,然后,通過查詢DNS來確定需要把信件投遞給某個(gè)服務(wù)器?! NS數(shù)據(jù)中,與電子郵件相關(guān)的是信件交換(MessageeXchange,MX)記錄,例如在linuxaid..這個(gè)域的dns數(shù)據(jù)文件中有如下設(shè)置: INMX10mailINMX20mail1mailINA202.99.11.120mail1INA
5、202.99.11.121 顯然,在DNS中說明linuxaid..有2個(gè)MX服務(wù)器,于是,Sendmail試圖將郵件發(fā)送給兩者之一。一般來說,排在前面的MX服務(wù)器的優(yōu)先級(jí)別比較高,因此服務(wù)器將試圖連接mail.linuxaid..的25端口,試圖將信件報(bào)文轉(zhuǎn)發(fā)給它。如果成功,SMTP服務(wù)器的任務(wù)就完成了。在這以后的任務(wù),將由mail.linuxaid..來完成。在一般情況下,MX服務(wù)器會(huì)自動(dòng)把信件內(nèi)容轉(zhuǎn)交給目標(biāo)主機(jī)。不過,也存在這樣的情況,目標(biāo)主機(jī)(比如linuxaid..)可能并不存在,或者不執(zhí)行SMTP服務(wù),而是由其MX服務(wù)器來執(zhí)行信
6、件的管理,這時(shí)候,最終的信件將保存在MX機(jī)器上,直到用戶來查看它?! ∪绻鸇NS查詢無法找出對(duì)某個(gè)地址的MX記錄(通常因?yàn)閷?duì)方?jīng)]有信件交換主機(jī)),那么Sendmail將試圖直接與來自郵件地址的主機(jī)對(duì)話并且發(fā)送郵件。例如,testaidgroup.linuxaid..,DNS中沒有對(duì)應(yīng)的MX記錄,因此Sendmail在確定MX服務(wù)器失敗后,將從DNS取得對(duì)方的IP地址并直接和對(duì)方對(duì)話試圖發(fā)送郵件?! 《?、工作環(huán)境 本文假設(shè)用戶希望在企業(yè)網(wǎng)環(huán)境中創(chuàng)建一個(gè)電子郵件服務(wù)器,為本企業(yè)用戶提供郵件服務(wù)。該服務(wù)器擁有一個(gè)合法的IP地址202.99.11.
7、200和一個(gè)合法的域名mail.linuxaid..,并且DNS的MX記錄也指向該域名(注:這里示例域名和IP地址均為偽造域名和地址)。為了滿足域名需求,DNS的域數(shù)據(jù)文件應(yīng)該包含以下內(nèi)容: INMX10mail mailINA202.99.11.200 試驗(yàn)環(huán)境為RedHat6.2、Sendmail8.11.4和Qpopper4.0.3,可分別從QPopper_general/下載Sendmail和Qpopper?! ∪?、Sendmail的安裝 當(dāng)前Sendmail最新的穩(wěn)定版本為8.11.4,下載得到tar.gz格式的壓縮包以后,
8、將其存放在/usr/src目錄下?! ?、解壓軟件包 [rootemailsrc]#tarxvfzSendmail.8.11.4.tar.gz [rootema