电子邮件客户端与 Webmail - 哪个使用哪种协议?

电子邮件客户端与 Webmail - 哪个使用哪种协议?

这是我的理解:

Webmail(gmail 等)使用 http 发送/检索电子邮件。

电子邮件客户端(thunderbird 等)使用 SMTP 发送电子邮件,使用 POP3/IMAP 检索电子邮件。(或者,它们也使用 http 发送电子邮件,并且只有 SMTP 服务器实际上使用 SMTP..?)

它是否正确?

编辑:我想我的问题有点微妙。我知道 SMTP 服务器(gmail)到 SMTP 服务器(yahoo)是 SMTP,因此电子邮件是 SMTP。但是当 gmail 或 thunderbird 连接到各自的 SMTP 服务器时,SMTP 服务器和使用 SMTP 发送邮件的 Web 邮件/电子邮件客户端之间的连接是否?我问这个问题的原因是,如果你查看 gmail 中的电子邮件,它说第一次收到的是 HTTP,然后它可以使用 SMTP 在 gmail 服务器之间反弹

答案1

所有电子邮件均使用 SMTP 发送。以下内容将介绍RFC 821

POP3 仅是一种检索协议,涵盖RFC 1939。IMAP
相同,并涵盖在RFC 3501

所有基于 Web 的邮件提供商都只是为邮箱提供接口,但仍应用并使用上述协议,这些协议是 RFC 文档指定和定义的标准。您的电子邮件将保存在提供商服务器上,然后使用以下示例从他们的某个服务器发送。

进一步说,理解如何发送电子邮件的最好方法是按照 RFC 中提到的方式进行。这里是有关如何使用带有 SMTP 的 Telnet 发送电子邮件的分步指南。

答案2

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 的 Web 界面发送还是直接通过其 SMTP 服务器发送的方式。


是的,刚刚测试了一下,这是我使用 Thunderbird 发送的电子邮件中的字符串。

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

答案3

“发送”一封电子邮件有多个部分。从客户端(例如 Thunderbird、Web 浏览器)到邮件服务器。然后从邮件服务器到目标邮件服务器。最后一步(目标邮件服务器到收件人的客户端)通常被视为检索电子邮件,而不是发送过程的一部分。

第一步(您的客户端到邮件服务器)通常使用 SMTP。对于 Web 客户端,您可以将操作视为浏览器 -> 代理客户端 -> 邮件服务器,其中“代理客户端”是 Web 服务器。

第二步(您的服务器到目标服务器)通常在互联网电子邮件的情况下使用 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(好吧,他们没有这样做,但他们可以这样做),或者他们可以做一些完全自定义的事情。

相关内容