基礎郵件原理(MUA,MTA,MDA)
電子郵件基本概念:
MUA(Mail User Agent)接收郵件所使用的郵件客戶端,使用IMAP或POP3協議與服務器通信;
MTA(Mail Transfer Agent) 通過SMTP協議發送、轉發郵件;
MDA(Mail Deliver Agent)將MTA接收到的郵件保存到磁盤或指定地方,通常會進行垃圾郵件及病毒掃描;
MRA(Mail Receive Agent)負責實現IMAP與POP3協議,與MUA進行交互;
SMTP(Simple Mail Transfer Protocol)傳輸發送郵件所使用的標準協議;
IMAP(Internet Message Access Protocol)接收郵件使用的標準協議之一;
POP3(Post Office Protocol 3) 接收郵件使用的標準協議之一。
郵件服務器基本都有MTA,MDA,MRA 組成。
常用的MUA有:outlook、thunderbird、Mac Mail、mutt;
常用的MTA服務有:sendmail、postfix;
常用的MDA有:procmail、dropmail;
常用的MRA有:dovecot。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
架構圖中還有個DNS (域名解析服務),架構中存在DNS原因是,郵件格式,通常情況下有兩種:
[email protected]([email protected]),[email protected]
我們還是先跟隨一個典型的從發送郵件到接收郵件的過程,借此來觀察Dovecot起到了什麽作用。
開始,某個人用郵件用戶代理(MUA)創建了一封電子郵件,典型的MUA包括Mozilla Thunderbird和Microsoft Outlook Express。無論是用哪種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顯示出來。
IMAP和POP3是用於連接MUA與郵件存儲服務器的兩種常見的協議。POP3通常用於網絡連接較慢的用戶連接至郵件服務器。POP3的一條基本原則是,MUA從服務器上下載郵件並保存在本地磁盤上,然後將服務器上的郵件刪除。IMAP通常用於局域網(LAN)或網絡連接較快的用戶,使用 IMAP的目的就是只在每次有未讀消息時才連接服務器(而不是使用類似於MUA的緩存)。Dovecot為使用IMAP協議的連接做了很多優化,這樣 IMAP客戶端在連接Dovecot服務器時會表現出更好的性能。
Dovecot並不關心郵件的接收、投遞和存儲,這些功能都是由MTA(比如Postfix)提供的。MTA決定郵件是如何存放的,以及存放在哪裏,Dovecot必須根據MTA的配置來進行相應的配置。而且很明顯的是,在安裝Dovecot之前,必須保證MTA正常工作。
在*NIX環境下主要有兩種郵件存儲格式——mbox和Maildir。Mbox將大量的郵件——有時可以達到幾千封——存放在一個文件中。 Maildir則是將每封郵件都存放在單獨的文件當中。可能由於文件系統較老等原因,您會選擇使用mbox,但對於大多數的全新安裝,Maildir提供了更強壯的存儲實現和文件之間的相對平等。當然,還有一些其他的存儲格式,比如dbmail,並不被Dovecot所支持(至少現在不支持)。
還需要重復一遍的是:Dovecot並不負責郵件的投遞或存儲,這兩方面出現了問題應該考慮MTA或MDA是否正常工作。如果沒有,知道該怎麽辦了吧?
Dovecot的主要配置包括郵件存儲類型,郵件存儲位置,用戶列表和密碼列表。Dovecot以支持多種用戶名/密碼格式,包括*NIX密碼、shadow、PAM、LDAP、SQL和vpopmail。通常,您應該選擇一種郵件服務全局都可以接受的用戶名/密碼格式,其中包括您的MTA、 MDA和Dovecot。
基礎郵件原理(MUA,MTA,MDA)