典型的 Linux/GNU 发行版包含哪些电子邮件特性/功能?

典型的 Linux/GNU 发行版包含哪些电子邮件特性/功能?

我很好奇本地 Linux 主机上的系统守护进程如何发送电子邮件。

  • 是否已经内置了某种类型的电子邮件框架?
  • 我需要 MTA 或 MUA 吗?
  • “Sendmail”扮演什么角色?它是一个要求吗?
  • 我如何配置服务器才能通过另一台主机发送?
  • “mail”命令如何适应这种情况?
  • /home/user/maildir 如何融入这张图片?

答案1

你问了一个相当广泛的问题——详细解释所有这些问题需要很多页纸。简单来说:

在 Linux/Unix 机器上发送邮件涉及多个程序。每个角色都有很多可供选择的角色:

  • 邮件用户代理 (MUA)。这是您阅读和撰写邮件的方式。它是系统的用户界面。示例:mutt、Thunderbird、Evolution、kmail、...
  • 邮件传递代理 (MDA)。这处理将邮件放入本地邮箱。还可以处理过滤器等。示例:procmail、maildrop。
  • 邮件传输代理 (MTA)。它处理系统之间的电子邮件发送和接收,通常通过 Internet 使用 SMTP。示例包括 exim、postfix、qmail、sendmail 等。

通常,MTA 和 MDA 是结合在一起的。例如,exim 两者兼而有之(尽管它也可以与单独的 MDA 一起运行)。一些 MUA(例如 Thunderbird)可以处理所有这三种情况(尽管 MTA 功能非常有限)。

现在,有两个接口用于发送邮件:

  1. 与 localhost:25 建立 SMTP 连接,并使用 SMTP 发送消息。
  2. 调用/usr/sbin/sendmail,并向其传送消息。 (或者通过管道讲 SMTP,并且有一堆参数,如果有兴趣请查看联机帮助页)。

(2)很常见。请注意,这是 sendmail MTA 的本机接口,但几乎所有其他 Unix MTA 都模拟该接口 — 它或多或少是在 Unix 机器上发送邮件的标准方式。

因此,当您运行并输入消息时,会调用将该消息传递给系统 MTA。然后,系统 MTA 使用其本地配置来确定如何处理邮件:mail [email protected]mail/usr/sbin/sendmail

  • 邮件发送至本地邮件名/主机名,因此进行本地传递(传递至 MDA)
  • 对 MX 记录发出 DNS 请求,进行远程 SMTP 传送
  • 为此域/电子邮件地址/其他内容配置的自定义操作。 MTA 通常是非常灵活的。

如何/var/spool/mail/user融入~/Maildir其中?这正是 MDA 已配置(或默认)的位置,用于放置其发送的邮件。

因此,对于 RAID 监控,您大概想要安装 MTA。如果您要将其通过电子邮件发送到您的 gmail 帐户或其他帐户,则不需要 MDA。

最简单的设置是如果您有一个提供传出 SMTP 中继的 ISP(也称为智能主机;大多数都这样做)。然后您只需设置一个 MTA 将所有邮件发送到那里。乌班图有电子邮件设置文档其中提到 Exim 应该已经安装,但您需要配置它才能从系统中获取邮件(这相当容易)。也可以看看 ”轻量级发送 SMTP 服务器“在 Unix.SE 上。

答案2

是否已经内置了某种类型的电子邮件框架?

是的。大多数发行版都有多种选择。您可以在大多数较大的发行版(例如 Debian、Ubuntu、Fedora、CentOS 等)上使用 MTA,例如 Postfix 和 Sendmail。这实际上取决于您的偏好。

我需要 MTA 或 MUA 吗?

依靠。大多数 Linux 发行版都附带 MTA,通常可以从系统上运行的各种 cron 和守护程序传递系统生成的电子邮件。在这些情况下,MTA 通常配置为仅将电子邮件本地传送到系统上的 root 或管理员类型的帐户。

就 MUA 而言,有多种选择。它们的范围从基于终端的应用程序(例如邮件和 mutt)到 Evolution 和 Thunderbird。

我如何配置服务器才能通过另一台主机发送?我不关心本地用户之间的邮件(到目前为止只有 2 个,我的帐户和 root。),但我很好奇它是如何工作的。

如果您使用的是 Sendmail 等 MTA,您通常可以将盒子配置为智能转发主机,这样它就可以盲目地将任何无法在本地传送到 root 或管理员帐户的邮件转发到某个指定的主机,该主机将负责传递来自主机的邮件。

“mail”命令如何适应这种情况?

这只是一个 MUA。

/home/user/maildir 如何融入这张图片?

通常,只有主机本地且已收到邮件的帐户才会将电子邮件放入此目录中。此处显示的邮件通常由本地配置的 MTA 传送。

这是从Unix继承的东西吗?

不知道如何回答这个问题。

如果您询问的是 PC 和 Unix 之间的明显区别,前者通常不包含 MTA/MUA 类型的应用程序,后者通常包含 MTA/MUA 类型的应用程序。

那么我想说以下几点:

这更多地与 Unix 机器与 PC 上的应用程序类型有关。一般来说,大多数 Unix 机器都用作服务器,服务器需要从运行在其上的各种守护进程和服务传递邮件。这些服务通常没有与之关联的用户帐户,因此需要 MTA 将系统电子邮件开箱即用地发送到世界其他地方。

但在我看来,我发现 PC 不包含这些类型的功能很不寻常,但这只是我的问题 8-)。

答案3

无论如何……所有与邮件相关的包/功能都可以省略。我知道的所有发行版都提供各种 MTA、MUA、邮件存储处理程序(POP、IMAP 服务器)、垃圾邮件过滤器/措施,...

相关内容