SMTP 和 POP3 之間會發生什麼?
我了解 SMTP,在較小程度上了解 POP3,但我覺得我在兩者之間錯過了一大塊。
我在Microsoft 頁面上看到了這張圖片:
(來源:microsoft.com)
我覺得我缺少的是“網際網路”部分。基本上:SMTP 伺服器是否直接聯繫最終 POP3 伺服器並在您發送消息時直接將消息傳輸到目標伺服器?據我所知,消息實際上會“反彈”很多,並在到達最終目的地之前通過許多不同的伺服器。還是我錯了,它真的只是從一台伺服器到另一台伺服器的單次傳輸?傳遞如何運作?它是 SMTP 或 POP3 的一部分,還是完全不同的協議?
發送郵件是否
user@example.com
只是翻譯為“在 example.com 上找到伺服器,並通過其 POP3 埠發送消息”?
如您的圖形所示,在 SMTP 和 POP3 之間“不存在”協議。SMTP 負責將郵件從發送電腦移動到收件人的郵件伺服器。如果將郵件從發件人的伺服器移動到收件人的伺服器涉及多台伺服器,則每台伺服器都通過 SMTP 協議移動郵件。這些中間伺服器(如果有)是“中繼”伺服器。
這是郵件如何從發件人轉移到收件人的分步(獨立於郵件伺服器軟體!)概述:
- John 向Dave@MyMail.com發送電子郵件
- John 的電腦使用 SMTP 將消息傳輸到他的 ISP 的伺服器ISP-SERVER
- ISP-SERVER知道它不是MyMail.com電子郵件域的“權威”,因此它會執行 DNS 查找(特別是ISP-SERVER在mymail.com域中查找MX 記錄)
- DNS MX 記錄報告伺服器MAIL-SERVER接受來自MyMail.com電子郵件域的消息,因此ISP-SERVER通過 SMTP 協議將 John 的消息發送到MAIL-SERVER
- MAIL-SERVER有一個 Dave 的郵箱,所以它將 John 的電子郵件放入其中
- 當 Dave 檢查他的電子郵件時,他的電腦使用 POP3 協議連接到MAIL-SERVER並從他的朋友 Dave 下載郵件。
大多數情況下,郵件都是這樣從發件人的郵件伺服器直接發送到收件人的。但是,發件人和收件人之間完全有可能有多個伺服器,在這種情況下,每個伺服器都充當“中繼伺服器”(原因包括在將郵件發送到目的地之前讓伺服器執行垃圾郵件/病毒過濾伺服器,或者目標公司有許多內部伺服器,這些伺服器涉及將電子郵件從一個連接 Internet 的郵件伺服器移動到 Dave 工作的確切辦公室中的伺服器)。
在任何情況下,每個中繼伺服器都會查找它應該將電子郵件發送到的伺服器(基於電子郵件的 To: 地址中的域名)並使用 SMTP 協議來傳遞消息。只有當郵件到達目標伺服器(收件人郵箱所在的位置)時,收件人的電腦才會使用 POP3 協議從使用者郵箱中檢索郵件。