最近發現一個問題,蘋果手機在設置郵箱服務器來獲取第三方郵件時老是報錯,沒法正常獲取郵件,我思考了一下,這其中確定是有緣由的,不多是手機軟件的的問題,因而決定研究一下郵箱服務器的一些原理,解決這個看起來很基礎的問題。web
所謂郵箱服務器即爲網絡上的客戶端保存電子郵件(電子郵件)消息的遠程或中央計算機稱爲郵件服務器。 郵件服務器能夠分爲兩大類:傳出郵件服務器和傳入郵件服務器。傳出郵件服務器稱爲SMTP或簡單郵件傳輸協議服務器。傳入郵件服務器有兩種主要類型。POP3或郵局協議版本3服務器以在PC本地硬盤上存儲已發送和已接收的消息而聞名。 IMAP或Internet消息訪問協議服務器始終在服務器上存儲消息副本。瀏覽器
若是沒有這一系列的郵件服務器,您只能向電子郵件地址域與您本身的電子郵件地址匹配的人發送電子郵件。即,您只能將一個example.com賬戶的郵件發送到另外一個example.com賬戶。服務器
再結合下來進一步理解,MTA充當郵局(分揀區域和郵件承運商),處理郵件傳輸,而MDA充當郵箱,郵箱存儲郵件(只要其容量容許),直到收件人拿走它。 使用稱爲MUA(郵件用戶代理)的軟件程序來檢索郵件。當MUA是安裝在用戶系統上的程序時,它被稱爲電子郵件客戶端。當它是用於與傳入郵件服務器交互的Web界面時,它被稱爲webmail,這裏的MUA與上圖的UA是一個概念。 網絡
下面來詳細看一下用戶發送與郵件接收的過程:工具
上文講到了郵件服務器能夠分爲兩大類:傳出郵件服務器和傳入郵件服務器。其中傳出服務器採用的協議爲SMTP,傳入服務器採用的協議有POP3和IMAP兩種。下面依次進行介紹。網站
SMTP 的全稱是「Simple Mail Transfer Protocol」,即簡單郵件傳輸協議。它是一組用於從源地址到目的地址傳輸郵件的規範,經過它來控制郵件的中轉方式。SMTP 協議屬於 TCP/IP 協議簇,它幫助每臺計算機在發送或中轉信件時找到下一個目的地。google
SMTP 服務器就是遵循 SMTP 協議的發送郵件服務器。加密
SMTP一般用於在Internet端口25上運行。在歐洲普遍使用的SMTP的替代方案是X.400。 許多郵件服務器如今支持擴展簡單郵件傳輸協議(ESMTP),它容許多媒體文件做爲電子郵件傳遞。3d
SMTP有認證,簡單地說就是要求必須在提供了帳戶名和密碼以後才能夠登陸 SMTP 服務器,這就使得那些垃圾郵件的散播者無可乘之機。代理
本質上來講,SMTP(簡單郵件傳輸協議)是用於發送和接收電子郵件的TCP / IP協議。 理論上,SMTP能夠經過TCP,UDP或某些第三方協議來處理。但若是你在郵件中間丟失了幾個數據包,則收件人可能甚至不會收到該郵件,若是他們這樣作,則可能會丟失密鑰信息。 這使TCP更合適,由於它確保每一個數據包都已傳送。
SMTP的通訊端口分爲兩種,一種是不支持加密的,郵件是明文傳輸,端口號爲25,此端口主要用於SMTP中繼。 SMTP中繼是從電子郵件服務器到電子郵件服務器的電子郵件傳輸。 另外一種是加密端口,這裏的加密指的是郵件通訊會經過SSL/TLS加密傳輸,關於SSL/TLS更多請查看ssl/tls是什麼?是怎麼工做的?,此端口通常使用465端口,雖然端口465從未做爲IETF的官方SMTP傳輸或提交渠道發佈,但互聯網號碼分配機構(IANA)負責維護大部分核心互聯網基礎設施,爲SMTPS註冊了465端口。
POP3是Post Office Protocol 3的簡稱,即郵局協議的第3個版本,它規定怎樣將我的計算機鏈接到Internet的郵件服務器和下載電子郵件的電子協議。它是因特網電子郵件的第一個離線協議標準,POP3容許用戶從服務器上把郵件存儲到本地主機(即本身的計算機)上。就像郵局職員的實體版本同樣,POP3接收並保留我的的電子郵件,直到他們拿走它爲止。
POP3服務器則是遵循POP3協議的接收郵件服務器,用來接收電子郵件的。
POP3有兩種工做方式:刪除方式和保存方式,能夠在客戶端進行設置。刪除方式就在每一次讀取郵件後就把郵箱中的這個郵件刪除, 保存方式就是在讀取郵件後仍然在郵箱中保存這個郵件,該方式是經過對以前的POP3工做方式(即刪除)的缺點進行彌補,對功能進行擴充。
POP3的優勢在於它很簡潔,能夠以最少的錯誤來完成工做,但同時缺點就是它只適合那些使用單個設備檢索郵件的人,若是使用刪除模式服務端是沒有備份郵件的,單個設備下載後其他登錄的設備就沒法再進行下載了,若是設置了保存模式能夠彌補這個缺點。
POP3端口也分爲SSL/TLS加密端口995,和不加密端口110。
IMAP全稱是Internet Mail Access Protocol,即交互式郵件存取協議,它是跟POP3相似郵件訪問標準協議之一。
IMAP4服務器則是遵循IMAP協議的接收郵件服務器,用來接收電子郵件的。
不一樣的是,開啓了IMAP後,你在電子郵件客戶端收取的郵件仍然保留在服務器上,同時在客戶端上的操做都會反饋到服務器上,如:刪除郵件,標記已讀等,服務器上的郵件也會作相應的動做。因此不管從瀏覽器登陸郵箱或者客戶端軟件登陸郵箱,看到的郵件以及狀態都是一致的。
還有一個就是,若是選擇閱讀郵件,則會快速下載,以即可以看到 - 由於除非你須要打開電子郵件,不然不會下載電子郵件的,這樣也就能夠快速的查閱郵件列表了,不須要等全部郵件內容更新後才能夠查看。
因此,相比POP3而言,IMAP有如下優勢:
最後,IMAP端口也分爲SSL/TLS加密端口993,和不加密端口143。
這裏有一些問題,可能你也會遇到,我把它列舉一下。
繞了這麼多,終於回到了正題,其實若是真正弄懂了郵件傳輸的原理以及相關一些協議的做用,這樣就比較簡單了。 以下圖,收件服務器採用能夠與服務器進行交互的IMAP協議,畢竟比較有優點,也能夠查看163的網站查看主機名爲imap.163.com,而發送服務器沒得選,直接寫smtp.163.com就能夠了,這裏的端口後不須要填,基本上都是默認的端口號。
端口號也是能夠修改的,見下圖,基本上設置都是差很少的,反過頭來看,設置比較簡單,要知道其中的原理仍是要花必定時間的。
最後再仔細想一想,其實郵件收發的過程跟咱們現實生活中寄快遞是同樣的邏輯,先把東西打包後交給快遞公司接收點,而後快遞公司派單送到中間的其餘站點,這些接收點,中間點就至關於SMTP服務器,快遞寄到了之後每每會存到某個附件的代收點,這個代收點就至關於POP3服務器或者IMAP服務器,用戶接收到了短信就能夠本身憑短信取件碼去領,也能夠過一段時間去領。
真是技術源於生活呀,我想創新也須要勤於對生活的思考吧。