【问题标题】:Why 2 different servers (incoming and outgoing) in mail servers?为什么邮件服务器中有 2 个不同的服务器(传入和传出)?
【发布时间】:2021-06-04 23:19:32
【问题描述】:

我有一个关于邮件服务器的基本问题。通常任何通用服务器(不一定是邮件服务器)处理各种相关请求,即与客户端的双向交互(例如向客户端发送和接收消息),但对于邮件服务器,有 2 个不同的服务器 - 一个用于传出消息称为传出服务器,遵循 SMTP 协议,另一个用于传入消息,称为传入服务器,遵循 POP3/IMAP 协议。为什么这样? .就此而言,不能将 2 个协议容纳在一个协议中以处理双向消息流。此外,这两个服务器通常托管在一般企业的同一台机器上吗?

【问题讨论】:

    标签: email smtp imap pop3 mail-server


    【解决方案1】:

    因为协议很旧。在旧的 Unix 传统中,暂时忽略 UUCP:

    SMTP 首先出现,用于在站点之间传输邮件,登录时使用文本模式客户端在服务器/网络上本地读取邮件。不需要获取邮件,您使用了“邮件”命令,它访问了您的本地邮件假脱机(一个包含您的邮件的文件,位于文件系统上,SMTP 服务器附加到该文件)。

    后来,人们希望在自己的主机上阅读邮件,因此发明了一种协议来提供服务。 POP 服务器将读取相同的假脱机文件,并允许您将所有消息下载到间歇连接的客户端计算机。 SMTP 被重用于发送邮件,因为它已经存在并且很容易适应该目的。

    现在,通常有三个值得注意的服务器:SMTP 提交服务器、SMTP 传输服务器和 IMAP。提交服务器是服务的最终用户提交他们的电子邮件以转发到最终主机的地方,例如,Gmail 用户将他们的电子邮件提交到的 Google 服务器(通常在端口 465 或端口 587 上,通过身份验证)。传输服务器负责在站点之间发送和接收电子邮件(例如,当 Yahoo 和 Gmail 在端口 25 上相互交换客户的邮件时)。最终用户使用 IMAP 来获取他们的电子邮件。

    这三个服务,在大型网站上,通常由不同主机上的不同服务器提供服务。在非常大的服务(例如 Gmail)上,它们是独立的服务器池。

    在小型企业主机上,它们通常只是一台机器。

    有更新和更集成的协议。例如,EAS 和 EWS 的邮件提取和提交都包含在同一个协议中。

    【讨论】:

      【解决方案2】:

      就个人而言,我很遗憾几乎没有人再使用 UUCP 了 :)

      邮件的运输、管理和收集分离具有历史、哲学和设计基础。 这符合 Unix 世界的精神:“只做一件事,把它做好”和“让一切尽可能简单”。

      电子邮件问题有多复杂,涉及的技术有多少,请在此处阅读: https://en.wikipedia.org/wiki/Email 然后查看脚注中的相关 RFC 了解详细信息。

      很难实现一个单一的程序,它考虑到电子邮件的所有细微差别,同时 保持简单(在 SMTP 中简单)。这样的巨石对于开发、维护和管理来说将是一场噩梦, 自 1970 年代以来,邮局已多次更换。

      关于第二个问题,没有理由使用同一台物理机,但除了可用资源量之外,也没有禁忌。

      【讨论】:

        猜你喜欢
        • 2021-10-16
        • 1970-01-01
        • 2018-01-29
        • 2018-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多