Webmail 客户端可以直接与 SMTP 服务器交互吗?(没有 IMAP)

Webmail 客户端可以直接与 SMTP 服务器交互吗?(没有 IMAP)

我试图了解邮件服务器的所有组件是如何组合在一起的。

  • 我知道发送电子邮件需要 SMTP 服务器。
  • 在访问电子邮件方面,我将设置一个网络邮件客户端,但不需要通过桌面客户端访问。

所以我的问题是:在这种情况下我需要 IMAP 服务器吗?或者 Webmail 客户端是否可以以某种方式直接链接到 SMTP 来发送和阅读电子邮件?

答案1

要设置你的电子邮件服务器和网络邮件,你需要两样东西:

  • 一个 SMTP 服务器,用于发送消息,正如你所说,
  • 一种读取收到的消息的方法,这就是您实际要求的部分。

Webmail 实际上不会接收邮件,它只会从某个地方读取或获取邮件。SMTP 服务器(通常与用于发送的服务器相同)将接收邮件,并通过使用 MDA 将它们存储在某个地方(在磁盘上,但也可能在某个数据库中)(消息传递代理)。然后您需要一种方法让您的网络邮件可以在某个地方访问它。

根据您的设置和要使用的网络邮件客户端,有多种选项:

  • IMAP 是其中之一,可能是最常见和用途最广泛的,
  • POP3 是另一个,
  • 但您也可以直接访问存储:
    • 直接从磁盘(假设您的 smtp 服务器接收邮件与您的 webmail 位于同一主机上),
    • 来自存储消息的数据库(如果您的 SMTP 服务器将消息存储在数据库中,这并不常见)。

如果您既不需要 IMAP 也不需要 POP3,则可以使用磁盘直接访问解决方案,但您需要一个可以读取或mbox电子邮件maildir存储的网络邮件软件。这是在 UNIX 主机上存储消息的两种最流行的方式。 mbox是一个包含所有消息的单个文件,maildir是一个带有子目录的目录,每个消息都是一个单独的文件。 maildir格式是最常见和最强大的。

这样的网络邮件客户端并不常见,你可能需要自己开发它(或者为其他现有的网络邮件软件开发插件)。不过,我知道有一个可以做到这一点邮件系统,包含在快递电子邮件服务器套件中。

DB 消息存储是可能的,但可能仅用于非常大的设置。

您可能还感兴趣StackOverflow 上的这篇文章

答案2

这与我今天早些时候回答的一个问题相关:

Squirrelmail 收不到邮件?

除非您使用的是 Roundcube 而不是 Squirrelmail。

另外,请看一下:

http://wiki.mutt.org/?MailConcept

作为邮件系统各个组件(即MTA,MUA,MDA)的概述。

我记得 Roundcube 纯粹是一个 IMAP 客户端,也许是某个 POP3,我不记得了。无论哪种情况,您都需要一个充当 MDA 的 IMAP 服务器。

话虽如此,我想不出任何基于 Web 的邮件客户端可以立即访问旧邮件假脱机。可以编写一个,但感觉有点不灵活,因为我们已经发明了 IMAP,它可以处理诸如同时访问假脱机文件等问题。如果您在当今时代运行真正的邮件系统,您将需要使用支持 IMAP 之类的 MDA。

还有大型的“群件”系统,如 Horde 或 Zimbra。这些系统会将整个邮件系统(以及其他群件应用程序)放在一个大包中,因此,从某种意义上说,您只需要安装一个软件。但在底层,内部将具有我上面提到的邮件架构概念,即 MTA -> MDA -> MUA。

答案3

不。客户端收到通过 SMTP 发送消息不再是客户端,而是服务器。虽然没有技术原因导致您无法拥有带有 Web 界面的 SMTP 服务器来访问消息,但客户端的工作方式并非如此。另外请记住,SMTP 是一种推送协议,因此虽然另一台服务器当然可以将消息发送到您的“客户端”,但该“客户端”可以通过网络获取消息。

相关内容