電子郵件知多少?它有加密傳輸嗎?

許多人都會透過電子郵件來進行通訊,甚至從事商業活動,那麼又對電子郵件有多深的了解呢?電子郵件發信是透過SMTP協定,而收信是經由POP3或IMAP協定。

舉例來看,如下圖,若Jason想要發信給Boss,信件會先由Jason電腦利用SMTP傳送至Gmail,Gmail再透過SMTP傳送至Boss所使用的Yahoo伺服器,這時候Boss就能透過POP3或IMAP查看信件。

 

SMTP

SMTP(Simple Mail Transfer Protocol)是一個基於文字,且較於簡單的協定,用於寄出電子郵件。可以利用Telnet與伺服器進行連線,發送電子郵件。

  • 輸入指令說明

  • 伺服器回應代碼說明

更詳細的SMTP協定內容可以參考 RFC 821 (https://tools.ietf.org/html/rfc821)

POP3

POP3(Post Office Protocol – Version 3)協定是用來管理用端郵件伺服器上的電子郵件,透過連接伺服器將所有未讀取郵件下載達成離線存取功能。可以利用Telnet與伺服器進行連線,查看信箱。

  • 輸入指令說明

伺服器若回應「+OK」開頭表示成功;反之,「-ERR」開頭表示失敗。

更詳細的POP3協定內容可以參考 RFC 1939 https://tools.ietf.org/html/rfc1939

IMAP

IMAP(Internet Message Access Protocol)與POP3同樣是用來管理伺服器上的郵件,但與不同的是POP3只有下載郵件的那段時間會連著伺服器,一旦下載完成就會與伺服器斷開,而IMAP則是只要使用者介面正在活動或是需要下載郵件,就會與伺服器持續連線。由於IMAP的指令相較SMTP與POP3複雜上許多,不同於POP3只有較單純的指令,IMAP除了指令較多之外,於運用指令時還要給予參數,因此就不針對IMAP做範例,更詳細的IMAP協定內容可以參考 RFC 3501 https://tools.ietf.org/html/rfc3501

加密傳輸

上述所介紹的SMTP、POP3與IMAP在與伺服器傳輸的過程中都是非加密傳輸,不僅可能會具備資料外洩的風險外,甚至遭到惡意人士中間人攻擊。為了防止上述所說的風險,本次所介紹的三種協定都能夠與SSL(Secure Sockets Layer)同時使用。當用上SSL時,與伺服器建立連線一開始會先進行金鑰協調,藉此建立一把只有彼此擁有的鑰匙,而這把鑰匙能夠在實際傳輸訊息時將內容加密,若不肖人士從中間攔截封包,也無法解讀傳輸的內容。

結尾

我們目前所使用的電子郵件雖然無法從使用者介面發現SMTP、POP3、IMAP與SSL,但是底層仍然需要靠這些同訊協定來維持服務,讀完之後是不是對電子郵件有了更深一層的了解了呢?

參考資料

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。