題 電子郵件客戶端與Webmail - 使用哪些協議?


這是我的理解:

Webmail(gmail等)使用http發送/檢索電子郵件。

電子郵件客戶端(雷鳥等)使用SMTP發送電子郵件,使用POP3 / IMAP檢索電子郵件。 (或者,他們也使用http發送電子郵件,只有SMTP服務器實際使用SMTP ..?)

它是否正確?

編輯:我想我的問題有點微妙。我知道SMTP服務器(gmail)到SMTP服務器(雅虎)是SMTP,因此電子郵件是SMTP。但是當gmail或thunderbird連接到各自的SMTP服務器時,SMTP服務器和使用SMTP發送郵件的webmail / email客戶端之間的連接是什麼?我問的原因是,如果你看一下gmail中的電子郵件,它說它收到的第一個是HTTP,然後它可以使用SMTP在gmail服務器上反彈


4
2017-08-19 16:02


起源




答案:


所有電子郵件都使用SMTP發送。這包括在下面 RFC 821

POP3僅是一種檢索協議,涵蓋在內 RFC 1939
IMAP是相同的,涵蓋在內 RFC 3501

所有基於Web的郵件提供程序只提供郵箱的接口,但仍然應用和使用上述協議,這些協議是RFC文檔規定和定義的標準。您的電子郵件將保存在提供程序服務器上,並使用下面的示例,然後從其中一台服務器發送。

為了擴展這一點。理解如何發送電子郵件的最佳方式是按照RFC中提到的方式進行。 這裡 是有關如何使用帶有SMTP的Telnet發送電子郵件的分步指南。


16
2017-08-19 16:06



@diago所以當我登錄gmail並向自己發送電子郵件時,電子郵件本身是使用SMTP發送的,而不是HTTP? - Tony Stark
@hatorade - 正確。 - BinaryMisfit
@hatorade當你“發送”時,唯一涉及的HTTP就是“發送”,它只是將表單(HTTP)提交給Web服務器,然後將其移交給郵件服務器(SMTP)。 - jtimberman
@jtimberman:所以我還是很困惑。您是說網絡瀏覽器是否涉及SMTP? - S.N.


GMail不使用http發送或接收電子郵件。它只是一個前端,使用傳統的POP3 / IMAP檢索(不確定它實際使用的是什麼)和後台的SMTP發送協議。用戶還可以使用這些協議來訪問像thunderbird這樣的獨立客戶端的帳戶。


至於您的更新,我從前一天使用GMail發送的電子郵件中提取了以下信息:

Received: by 10.204.67.131 with HTTP; Thu, 6 Aug 2009 08:01:22 -0700 (PDT)

我認為這只是GMail跟踪電子郵件是通過網絡界面發送給Gmail還是直接通過其SMTP服務器的方式。


Yup剛剛測試了它,這是我使用Thunderbird發送的電子郵件中的字符串。

Received: from ?<LAN_IP>? (<hostname> [<WAN_IP>])by mx.google.com with ESMTPS id <ESMTPS_ID>(version=TLSv1/SSLv3 cipher=RC4-MD5);

3
2017-08-19 16:11



這是因為您使用第三方客戶端。您沒有使用真正的網絡郵件。我如何在強大的防火牆後面發送電子郵件,從我的公共Wi-Fi接入開始,只允許端口80打開 (是的沒有https或ftp)。 - user2284570


您使用http(s)訪問Webmail,但Webmail頁面後面的服務使用標準郵件協議(由Diago描述)。


2
2017-08-19 16:11



@gnoupi啊,所以我用HTTP(s)從我的電腦 - > gmail webmail電腦,然後gmail webmail電腦使用SMTP從gmal webmail電腦 - > SMTP gmail服務器? - Tony Stark


“發送”電子郵件有多個部分。客戶端(例如Thunderbird,Web瀏覽器)到郵件服務器。然後從郵件服務器到目標郵件服務器。最後一步(目標郵件服務器到收件人的客戶端)通常被認為是檢索電子郵件而不是發送過程的一部分。

第一步(您的客戶端到郵件服務器)是通常使用SMTP的地方。對於Web客戶端,您可以將操作視為瀏覽器 - >代理客戶端 - >郵件服務器,其中“代理客戶端”是Web服務器。

第二步(您的服務器,到目標服務器)通常在Internet電子郵件的情況下使用SMTP。

最後一步(郵件檢索)是POP3和IMAP可能的協議。

但是,這只是“標準”可能性的集合。

Microsoft的郵件服務器軟件(Exchange)具有擴展協議(MAPI),用於與支持Exchange的客戶端(主要是Outlook)進行通信。它可以使用SMTP和MAPI客戶端,但我認為你必須打開“標準接口”。 Lotus Notes是另一種流行的郵件服務器(嗯,不是 只是 郵件服務器),它支持不同的客戶端 - 服務器協議,並且標準接口不是標準安裝的一部分。

有些電子郵件客戶端程序使用HTTP接口與流行的郵件服務器(主要是Exchange,hotmail和gmail)進行交互,以克服使用郵件服務器提供的標准或增強API的困難或感知限制(如果有的話)(至少只有一次Hotmail)有一個web / HTTP接口)。

源和目標郵件服務器可以使用一些不同的協議在它們之間傳輸電子郵件。大多數現代郵件服務器都支持SMTP,但是如果有其他可能性,特別是如果源服務器和目標服務器是相同的。 * nix系統提供“sendmail”,用於在同一主機上發送電子郵件,也可以使用SMTP將電子郵件傳輸到其他主機。

SMTP是一個 標準 將電子郵件發送到目標服務器的方法。 POP3和IMAP是 標準 檢索電子郵件的方法。適合與其他標準支持客戶端和服務器進行交互,但絕不是唯一的方法。

特別是,當您向自己,甚至是使用gmail / Google託管的電子郵件帳戶向其他人發送電子郵件時,gmail所做的事情完全取決於Google。他們可以使用SMTP,他們可以使用sendmail,Lotus Notes(好吧他們沒有,但他們可以),或者他們可以做一些完全自定義的事情。


1
2017-08-20 13:39