郵件傳輸過程,MUA,MTA,MDA的概念

       先說明什麼是MUA,MTA與MDA,然後說明信件的傳送流程。 
MUA(Mail User Agent):顧名思義,MUA就是“郵件用戶代理”。郵件需要代理,這是由於通常Client端的計算機無法直接寄信(不然爲什麼要郵件主機?),所以,需要通過MUA幫我們傳遞信件,不論是送信還是收信,Client端用戶都需要通過各個操作系統提供的MUA才能夠使用郵件系統。舉個例子,Windows裏的OutLook Express、Netscape裏的mail功能與KDE裏的Kmail都是MUA。MUA主要的功能就是接收郵件主機的電子郵件,並提供用戶瀏覽與編寫郵件的功能。 
       MTA(Mail Transfer Agent):MUA是用在Client端的軟件,而MTA是用在郵件主機上的軟件,它也是主要的郵件服務器。MTA就是“郵件傳送代理”的意思,既然是“傳送代理”,那麼用戶寄信與收信時,都找MTA就對了!因爲它負責幫用戶傳送。基本上,MTA的功能如下。 
接收外部主機寄來的信件:既然是郵件主機,接收信件自然是主要功能,只要這個信件裏有MTA內部賬號,這封信就會被MTA收下來; 
幫用戶發(寄出)信:既然可以收信,自然也可以發信,只要用戶具有合法的使用MTA的權力,就可以利用這臺MTA主機把信傳送出去!不過要注意,MTA會將信件送給目的地的MTA而不是目的地的MUA。不要搞錯了! 
     曾經有個朋友跟我說,要我傳數據給他,而因爲他要接收我的信件,所以他的計算機(指的是Windows那個Client端計算機)得一直開着,真是不方便!聽到這句話時,我嚇了一跳——這個概念是不對的,因爲用戶使用的是MUA,而信件僅會送達MTA主機上,收、發信件時,都需要通過MTA幫忙處理,所以,用戶在使用郵件編輯器“MUA”將數據編輯完畢之後,按下送出,並且成功送到MTA之後,接下來的事情就是MTA的工作了,跟用戶的Client端計算機沒有關係。 
用戶收自己的信:用戶可以將放置在郵件主機的信件收到自己的個人計算機上。 
MDA(Mail Delivery Agent):“郵件投遞代理”主要的功能就是將MTA接收的信件依照信件的流向(送到哪裏)將該信件放置到本機賬戶下的郵件文件中(收件箱),或者再經由MTA將信件送到下個MTA。如果信件的流向是到本機,這個郵件代理的功能就不只是將由MTA傳來的郵件放置到每個用戶的收件箱,它還可以具有郵件過濾(filtering)與其他相關功能。這很了不起,舉兩個例子: 
如果你知道某個廣告信件的主題都是固定的,例如“AV情色XXX”,你想將這種信件直接丟進垃圾箱,可以通過MDA郵件分析功能,將信件丟棄。 
如果有一天你要出差,可能一個星期碰不到電子郵件,但是你又不想讓一些朋友認爲你在耍大牌不回信,這時你可以利用MDA的功能,讓郵件主機在別人給你發信時自動回覆一封,讓寄件人知道你在忙碌中。這樣的功能是否很不錯?不止這些,其他功能後面會再介紹。 
Mailbox:“收件箱”,說穿了就是主機上一個目錄下某個人專用來接收信件的文件!舉個例子,系統管理員root在默認情況下會有個信箱,默認的文件就是/var/spool/mail/root文件(每個賬號都會有一個自己的信箱),然後,當MTA收到root的信時,就會將該信件存到/var/spool/mail/root文件中,用戶可以通過程序將這個文件裏的信件數據讀取出來。      瞭解了MUA,MTA與MDA之後,下面說說如何將信寄出去。可以分爲幾個步驟。 
     Step 1 用戶利用MUA寄信到MTA。通常我們使用MUA(例如Outlook express)寫信時,要寫明幾個項: 
發信人與發信網站:必須有這個信息。發信網站就是下面Step 2接收信件的那個MTA; 
收信人與收信網站:以er的形式給出,其中,account就是該e-mail.server裏的賬號。      在圖20-1左上角的那臺機器上,也就是“本地客戶端使用的電腦”,利用MUA功能(如Outlook express)寫好信之後,按下MUA的“發送”按鈕,MUA就會依據你所定義的主機地址將信發送到MTA上。 
     Step 2      MTA收到信件,交由MDA發送到該賬號的MailBox中。如果在Step 1收到的信件中,那個e-mail.server就是MTA自己,此時MTA會將該信件交由MDA處理,將信件放置在收信者的信箱中。 
     Step 3      MTA將信再轉送出去。如果由Step 1發來的信件的收件人並不是MTA的內部賬號,那麼該信將被再次轉送出去!Step 1及Step 3的動作,我們也稱爲Relay(郵件轉發)功能。 
     Step 4      遠程MTA收到本地MTA發出的郵件。遠程MTA會收到我們這臺MTA的信件,並將該信件交給它的MDA處理(Step 5),此時,信件會存放在遠程MTA上,等待用戶登錄讀取或下載。 
     遠程用戶使用的計算機直接連接到它的MTA,向MTA請求查看自己的收件箱是否有信件,而MTA通過MDA去檢查,如果有信件,就會將它傳送給用戶的MUA,同時,根據MUA的不同設置,MTA會選擇將該信件從收件箱清除或繼續保留!若繼續保留,那麼下次用戶再次接收信件時,保留的信件會再次被下載,因此,通常用戶MUA都是默認刪除MTA的收件箱中的內容。

 

轉自:http://hi.baidu.com/flyane/item/6386f2f05bab43c2a835a218

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章