![MTA 和 SMTP 服务器有什么区别?](https://linux22.com/image/157188/MTA%20%E5%92%8C%20SMTP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
以后缀为例。它是一个 MTA,但它也是一个 SMTP 服务器吗?所有 MTA 都是 SMTP 服务器吗?有吗?邮件运输代理和邮件传输代理有区别吗?
MTA 是否可以配置为 SMTP 服务器,反之亦然? MTA 和 SMTP 服务器有什么区别?
答案1
MTA 是 SMTP 服务器的一部分;它负责接收来自MSA然后将它们转发到 MDA(如果这些电子邮件的目的地是本地)或另一个 SMTP 服务器。有些人将 MTA 称为 SMTP 服务器。
答案2
一些有关flanker12x 的回答 似乎不太正确。特别是因为维基百科描述了 postfix作为 MTA。
常用说明
正如 @roaima 所建议的,将 SMTP 服务器视为通过 Internet 接收和发送电子邮件的 MTA 基本上是可以的。SMTP协议。
MTA 不这样做支持SMTP 很少见。因此很难找到一个不是 SMTP 服务器的 MTA。
迂腐的描述
MTA 通常有一个 SMTP 服务器组件:
- “MTA”是指接受电子邮件并将其路由到目的地(可能将其传递到另一个 MTA)的软件。因此,MTA 接受电子邮件并决定将其发送到何处。
- “SMTP服务器”是指实现SMTP协议服务器端的软件。服务器端专门负责接收和接受电子邮件。
将单个软件描述为 MTA 和 SMTP 服务器是可以接受的。但如果您真的很迂腐,那么 SMTP 服务器只是 MTA 的监听组件。
这两个概念甚至可以单独存在......
并非所有 SMTP 服务器都是 MTA
某些软件可以具有 SMTP 服务器组件,但不是 MTA。例如:问题跟踪软件或博客软件可能允许用户向线程发送电子邮件回复。该软件可能有一个 SMTP 服务器来接收响应...但该电子邮件将立即被处理并丢弃。它不是 MTA,因为它会破坏性地处理电子邮件。
MTA 必须有 SMTP 服务器吗?
这可能会引起争议,但是我会说“不”;不必要。
理论上,MTA 可以通过任何协议在彼此之间传输电子邮件,只要电子邮件到达即可。因此,MTA 当然可以接受来自其他协议的电子邮件。只要 MTA 能够将电子邮件发送至目的地,协议就无关紧要。
为了证明我的观点,Microsoft Exchange Server 可以在同一组织中的帐户之间发送电子邮件,而无需使用 SMTP。在这种情况下,它仍然充当 MTA。 Exchange Server 当然也可以有SMTP 服务器,但理论上不是必需的。
同样,postfix 中定义了多个组件master.cf
,并且可以禁用 SMTP 服务器。只要您用某些东西替换它,只要用户代理最终可以将电子邮件放入其队列中,postfix 就可以保留为 MTA 的定义。
SMTP 已经近40岁。我们不太可能很快看到没有 SMTP 的 MTA 大幅增长。