sendmail 是 smtp 服务器吗?MTA 和邮件服务器之间有什么区别吗?

Noo*_*oob 18 email centos sendmail

我是邮件新手,不完全知道它是如何工作的。

我见过管理员使用 sendmail 发送电子邮件。sendmail 是 smtp 服务器还是依赖 smtp 服务器中继电子邮件的客户端?我用谷歌搜索并读到它是一个邮件传输代理。

邮件传输代理和邮件服务器之间有什么区别吗?

假设当我使用 sendmail 向 user@yahoo.com 发送电子邮件时没有进行安全检查(反向 dns 等):我还需要通过另一个 smtp 服务器(google.com?)还是可以发送邮件从我的服务器使用sendmail?

如果有好心人能指点我一份关于邮件服务器如何工作的初学者指南,那也很好。

谢谢

Dan*_*scu 7

恕我直言,这个小小的教程MUA、MTA 和 MDA非常擅长解释 Unix 电子邮件系统的基本概念。

是的,正确配置的sendmail应该能够向可访问主机上的任何 MTA 发送电子邮件(但该MTA可能会因各种原因拒绝邮件)

现在,当您说mail server这通常是指以下任一/两个上的备用路径时:

  • 接收端
    基本上用邮件服务器+运行在各种独立机器模型(如web/ POP / IMAP /等,通常适用于大多数公共邮件服务)上的各种邮件客户端替换目标主机MTA+MDA(和用户邮箱)像gmail/雅虎)。
  • 发送端
    基本上用邮件服务器+运行在各种独立机器模型上的各种邮件客户端替换发送主机 MUA+MTA


bar*_*lop 7

我仔细研究了一下。

也许避免使用像“邮件服务器”这样的术语,因为一旦你开始使用像 MTA 这样的术语,你现在正在使用一个非常具体的术语 - 甚至命名法,而“邮件服务器”可能太笼统,甚至模棱两可,没有意义。

据我所知,它是这样的

MUA-->MSA--->MTA--->(MDA->Comp)<--MUA
Run Code Online (Sandbox Code Playgroud)

并且涉及 IMAP/POP 客户端(MRA)和 IMAP/POP 服务器(MAA)

sending(A->B->C->D->X)   then  from receiving right to left (X<--B<--A)
    A      B     C          D          X      B     A 
    MUA-->MSA--->MTA--->(MDA->Comp)-->MAA<---MRA<--MUA
Run Code Online (Sandbox Code Playgroud)

电子邮件被发送到 user@domain

MUA 是电子邮件客户端。这将是 SMTP 客户端。(或者更准确地说,配置为运行特定 SMTP 客户端的用户界面,该客户端当然是该机器本地的,但当然连接到 SMTP 服务器)

MSA是一个 MTA,意味着它传输电子邮件,但它是 MUA 连接到的 MTA。它在本地域上。它将运行 SMTP。这将是一个 SMTP 服务器。(可能还有其他协议可以作为 SMTP 的替代方案运行)。

MTA 是目标域中的 MTA。

MDA是收件人域中的一台计算机,它将消息写入/“传递”到位于计算机可以访问的硬盘驱动器上的“邮件存储”中。通常是本地的。该邮件存储为域上的用户存储邮件。

MAA 和 MRA - 这些与接收电子邮件有关,而不是发送电子邮件。MAA 一词鲜为人知,人们经常将 MRA 称为 IMAP/POP 客户端,而不是给服务器一个缩写。我听说 MRA 是客户端和服务器的术语,争论是它说代理,所以只描述一个函数,定义不限于客户端或服务器。但是使用术语 MAA 的站点似乎将 MAA 定义为服务器,将 MRA 定义为客户端,也许他们是对的。所以我会继续这样做,并引用两个网站上的定义和示例。

MAA 是一个 POP/IMAP 服务器。以及作为 POP/IMAP 客户端的 MRA。提到这个的两个链接..

https://www.ida.liu.se/~TDDI09/lectures/TDDI09-F4.pdf
MRA 客户端 Fetchmail
MAA 服务器 Courier IMAPD

http://archive.vector.org.uk/art10500970
MAA(邮件访问代理):
管理电子邮件帐户的文件夹并使 MRA 可以使用邮件。MRA(邮件检索代理):通过 MAA 访问电子邮件文件夹并使消息可供 MUA 使用


您询问 Sendmail .. 我对这些与电子邮件相关的 linux 程序知之甚少,但 Sendmail 确实有一个 SMTP 客户端,尽管它主要是一个 MTA(并且任何可以作为 MTA 的程序都可以作为 MSA,MSA 只是MTA 的一种形式)。

您询问是否可以直接发送到目标域的 MTA,如果没有安全检查。我想我已经做过一次 MUA 到 MTA,只涉及一台 SMTP 服务器,所以是的。但通常是本地域上的 MSA 将其发送到那里的 MTA。因此通常涉及两个 SMTP 服务器。我想我所做的看到的是,我运行了一个 MSA SMTP 服务器 sendmail 或 postfix,看到它对域进行 DNS 检查并看到它找到了目标 MTA(另一个 SMTP 服务器)。然后我想呵呵,我会尝试直接发送它。对于我想要发送到的一个域,我可以直接连接到该目标 MTA。


Law*_*ceC 6

“电子邮件服务器”一词含糊不清。电子邮件有很多活动的部分。

  • Sendmail 是邮件传输/传输代理 (MTA),又名 SMTP 服务器。(还有其他的,例如exim4

    • 某些东西将打开与域的 SMTP 服务器的会话,以将消息发送到该域上的另一台主机。(域的 SMTP 服务器是通过 DNS MX 记录找到的)
  • 一旦 SMTP 服务器收到消息,它可以做几件事:

    • 如果收到的邮件来自不同的域,它可以将邮件中继到该域的 SMTP 服务器。
    • 如果收到的邮件来自 SMTP 服务器所在的域,它可以将邮件交给本地邮件传递代理 (MDA)(如果它本身不充当 MDA)。
    • 在 UNIX 系统上,本地 MDA 通常将消息复制到本地用户的邮件池(mboxMaildir)或其他存储机制。

如果您的 SMTP 服务器在 UNIX/Linux 系统上运行,则可以使用邮件用户代理 (MUA),例如muttpine或其他程序从本地假脱机阅读邮件。您必须登录到本地系统才能正常工作。

如果您想阅读存储在远程系统上的邮件怎么办?远程系统必须运行 POP3 或 IMAP 服务器,它将从远程系统上的帐户中获取消息并将它们带给您,在 IMAP 的情况下可选择使用管理功能。POP3/IMAP 无法发送消息。

允许您通过 POP3 或 IMAP 从远程服务器读取邮件的应用程序也将允许您通过 SMTP 发送邮件,并且必须实现/成为这两种协议的客户端。POP3/IMAP 和 SMTP 不必位于同一台主机上。

多年来,这些协议中的大多数都采用了安全措施。这些协议中的每一个都有可选的方法来要求客户端证书或身份验证。保护 SMTP 服务器免于为未经身份验证的用户中继电子邮件尤其重要,因为它通常会被滥用于垃圾邮件目的。SMTP 用户名/密码/证书可以与任何 POP3/IMAP 不同,它们仍然可以与系统上的任何本地帐户不同。