Sendmail和Postfix只是一個MTA,若是想讓客戶端從Sendmail服務器上收取郵件,還須要其餘的軟件來支持。Red Hat Enterprise Linux 5中Dovecot軟件包提供了POP3和IMAP支持。 html
電子郵件系統的組成
5部分:MTA,MSA,MUA,MDA,MAA
1, 郵件用戶代理(Mail User Agent,MUA)
MUA是一個郵件系統的客戶端程序,它提供了閱讀,發送和接受電子郵件的用戶接口。
最經常使用的MUA有:linux中的mail,elm,pine等。Windows的outlook ,foxmail等
2, 郵件代理器(Mail Transfer Agent,MTA)
MTA負責郵件的存儲和轉發(store and forward)。MTA監視用戶代理的請求,根據電子郵件的目標地址找出對應的郵件服務器,將信件在服務器之間傳輸而且將接受到的郵件進行緩衝。
在linux下的MTA程序有:sendmail,qmail等,
3, 郵件提交代理(Mail Submmission Agent,MSA)
MSA負責消息有MTA發送以前必須完成的全部準備工做和錯誤檢測,MSA就像在MUA和MTA之間插入了一個頭腦清醒的檢測員對全部的主機名,從MUA獲得的信息頭等信息進行檢測。
4, 郵件投遞代理(Mail Ddlivery Agent,MDA)
MDA從MTA接收郵件並進行適當的本地投遞,能夠投遞個一個本地用戶,一個郵件列表,一個文件或是一個程序。
Linux下經常使用的MDA是mail.local,smrsh和procmail(www.procmail.org)
5, 郵件訪問代理(Mail Access Agent,MAA)
MAA用於將用戶鏈接到系統郵件庫,使用POP或IMAP協議收取郵件。
Linux下經常使用的MAA有UW-IMAP,Cyrus-IMAP,COURIER-IMAP等
先經過一個典型的從發送郵件到接收郵件的過程,來觀察Dovecot起到了什麼做用。
開始,某人用郵件用戶代理(MUA)建立了一封電子郵件,郵件建立後被送到了該用戶的郵件傳輸代理(MTA)——傳送過程使用的是SMTP協議。而後MTA檢查該郵件的收信人,向DNS服務器查詢接收方MTA對應的域名,而後將郵件發送至接收方MTA——使用的仍然是SMTP協議。這時,郵件已經從遠程的用戶工做站發送到了他的ISP的郵件服務器,而且轉發到了您的域中。
然而,郵件在傳輸過程當中頗有可能被轉移到另一個MTA,但最終會有某個MTA接管這封郵件,而且負責投遞。這時,MTA會將郵件傳遞給某個郵件投遞代理(MDA),MDA的主要做用就是將郵件保存到本地磁盤,有些MDA也能夠完成其餘功能,好比郵件過濾或將郵件直接投遞到子文件夾。須要注意的是,完成將郵件存放在服務器上這個功能的是MDA。
最後,查收郵件。運行MUA,您可使用IMAP協議或POP3協議來向郵件服務器查詢您的郵件。郵件服務器會先確認您的身份,而後從郵件存儲區檢索郵件列表,並將列表返回給MUA。如今您就能夠閱讀郵件了。如今咱們就能夠解釋第一段了:將郵件投遞給您的郵件服務器就是Dovecot。
做爲IMAP和POP3服務器,Dovecot爲郵件用戶代理(MUA)提供了一種訪問服務器上存儲的郵件的方法。可是,Dovecot並不負責從其餘郵件服務器接收郵件。Dovecot只是將已經存儲在郵件服務器上的郵件經過MUA顯示出來。
(1) MUA (Mail User Agent)
從MTA獲取郵件和經過MTA發送郵件的工具,它通常支持smtp和pop協議。如:outlook,foxmail
(2) MTA (Mail Transport Agent)
裝有MTA的服務器就能夠稱之爲郵件服務器。MTA的主要功能有三個:
1) 經過pop協議與MUA通訊,把MTA郵件箱中的郵件傳遞給MUA(也就是MUA在MTA上取郵件的過程);[我的感受這裏把MAA合併MTA了]
2) 經過smtp協議,接收用戶經過MUA起草的新郵件,並準備發送郵件;
3) 經過smtp協議,在網絡上的不一樣MTA間,選擇合適路由,並最終將郵件送達目標郵件服務器(也就是郵件在源服務器到目標服務器的
傳遞過程)。
(3) MDA (Mail Delivery Agent)
能夠看作是MTA的一個子模塊,實現郵件傳遞、分析、過濾、自動回覆等功能