使用第三方 smtp 发送电子邮件需要 mta 吗?

使用第三方 smtp 发送电子邮件需要 mta 吗?

我有一个 G Suite 帐户,想使用 Google 的 SMTP 从我的服务器发送电子邮件。

那么我该如何从 Linux 的 CLI 发送电子邮件呢?经过一番研究,我发现我需要一个像 Sendmail 这样的程序,它是一个 MTA。我不明白的是,为什么我需要安装邮件服务器,而我想要的是使用 Google 的 SMTP 服务器发送电子邮件,而不是我的服务器。如果我想使用 Google 的 SMTP,那么我的服务器的 MTA 到底会做什么呢?

其次,如果我从我的服务器使用 Google 的 SMTP,那么对于邮件收件人来说,这是否意味着 Google 的服务器发送电子邮件还是我的服务器发送电子邮件?SPF 记录应包含哪个服务器地址?

答案1

当所有需要发送电子邮件的应用程序都具有本机 SMTP 支持并配置为使用外部 SMTP 服务器时,您不需要在服务器上安装(轻量级)MTA。

事实可能并非如此:因为与使用 MTA 设置单独配置所有单个应用程序不同,传统 / 经典的 Linux 行为是配置主机以发送电子邮件。正确配置主机后,该主机上的所有应用程序都可以调用/var/lib/sendmail(很久以前实际上是 sendmail,但如今所有更现代的替代品,如 Postfix、Exim 等,都提供了自己的替代 sendmail 兼容存根)来发送外发电子邮件。无需配置单个应用程序。

您可以安装一个最小的 MTA,而不是安装一个功能齐全的 MTA。
最小的 MTA 不会执行任何高级邮件投递和排队,它只会将该主机上的所有电子邮件转发到“邮件中心”(也称为“智能主机”或者“SMTP 中继”) 将实际的邮件递送给预期的收件人。
msmtpssmtp并且esmtp是一些常用的轻量级 MTA。

如果我想使用 Google 的 SMTP,那么我的服务器的 MTA 实际上会做什么?

有两件事,也许有三件事:

  1. /var/lib/sendmail为服务器上运行的所有应用程序提供功能
  2. 进行身份验证(如有必要)并将所有电子邮件转发到 Google 的 SMTP
  3. 也许可以为具有本机 SMTP 支持的应用程序在本地主机端口 25 上提供 SMTP 服务。这样您就可以将这些应用程序配置为使用本地主机端口 25 作为外发邮件服务器,而不是使用 mailhub,同时获得较小的管理优势,无需在这些应用程序中配置 mailhub 所需的凭据。

那么我如何从 Linux 的 CLI 发送电子邮件?

最小的电子邮件客户端是mailmailx并且存在许多更高级的终端电子邮件客户端,如alpine、mutt等。

相关内容