用于系统邮件的轻量级程序(迷你 MTA?)(仅通过具有无人值守升级、cron、smartmontools 等的外部服务器发送/中继)

用于系统邮件的轻量级程序(迷你 MTA?)(仅通过具有无人值守升级、cron、smartmontools 等的外部服务器发送/中继)

我在不同的地方遇到过不同的名称:Light MTA、Remote MTA、Smarthost 等。

一般来说,我不想安装成熟的邮件服务器(例如sendmail,,,postfixexim,而只想使用现有的外部 ISP/邮件提供商(例如 dismail.de,mailfence.com 或其他)发送通知/电子邮件unattended-upgradescron、、smartmontools我自己的 bash 脚本等来自整个系统。

此外,如果支持排队和重试(在离线或邮件提供商暂时无法访问的情况下尝试重新发送),那就太理想了

到目前为止我发现:

  • ssmtp
  • msmtp
  • s-nail
  • nullmailer
  • dma
  • esmtp

但我没有找到他们之间的任何比较。

  1. 有谁知道是什么让该程序脱颖而出? (优点、缺点、配置方便、资源消耗低等)
  2. 可能我错过了一些东西,也许还有另一个,比 Debian 提到的所有那些更好?
  3. 我是否理解正确,这s-nail也是 MUA 或bsd-mailx不需要mailutils?也许其他人也是如此?

答案1

因此,您的要求可以概括为:

  • 通过命令行选项或通过管道接受消息到标准输入,因此脚本和可执行程序可以发送出站邮件
  • 可以区分应该进入本地邮箱文件的消息(例如,来自根 crontab 的标准输出)和应该进入外部邮件系统以传递到其他邮箱的消息(例如,通知)[电子邮件受保护]
  • 支持 SMTP(现在可能还支持 TLS/SSL 加密)以允许发送到这些外部邮件系统
  • 支持在本地对消息进行排队并重新尝试传递,以防“智能主机”一段时间内无法访问(造成这种情况的原因可能有多种)

并且很可能:

  • 对于那些只知道如何与 localhost:25 建立 TCP 连接来发送电子邮件(并且不知道如何调用外部命令)的 GUI 程序,支持作为本地 SMTP 守护程序运行

主要是应传递到本地邮箱文件与外部邮件系统的邮件之间的区别,以及排队和重试传递的要求将消除许多超简单的转发代理。能够处理这些事情的转发代理与完整的 MTA 之间的区别相当小。

我将回应我写这篇文章时出现的评论中的一句话:

一个配置良好的 Postfix 将为您提供这一切。大多数发行版都有 Postfix 的默认配置,它可以满足您所需的 99%,另外 1% 是回答安装时问题或将主机名写入 /etc/postfix 目录中的配置文件。 (您要将所有传出消息推送到的智能主机的名称)

这是 Linux 工作站的一个非常常见的需求,也是 Linux 发行版的一个非常常见的用例。因此,他们中的大多数人都在默认安装的 MTA 中预先配置了解决方案。对于很多发行版来说,这就是 Postfix。

答案2

经过我的研究:

从上面给出的列表中,消息排队和重试(例如当笔记本电脑暂时离线或邮件服务器暂时关闭时)仅支持:

  • msmtp
  • nullmailer
  • dma

短信发送:

我拒绝了,msmtp因为本机不支持排队,需要通过额外的覆盖来解决问题:

https://wiki.archlinux.org/title/Msmtp#Using_msmtp_offline

https://gitlab.com/the-foundation/msmtp-cron-sendmail

空邮件程序:

nullmailer起初看起来不错,但是:

  • 该文档几乎不存在
  • 配置选项分散在各个文件中,并且并不像其名称所暗示的那样直观
  • 最大的问题是这个allmailfrom选项,它根本不起作用:

DMA:

对我来说,获胜者是 DMA(蜻蜓邮件代理):

  • 配置工作完美,花了 3 分钟
  • 配置仅包含两个文件/etc/dma/dma.conf/etc/dma/auth.conf直观且有选项说明
  • 解决from来自 的字段问题nullmailer,只需[email protected]dma.conf文件中,一切就都像魅力一样
  • 所有系统通知都能正常工作(Unattended-UpgradesCronTimeshift、 脚本等)
  • 它轻便、快速、安全(我要提醒你的是,它只用来发送电子邮件,不接收电子邮件,但很多人都想要这个)

附加信息:

https://askubuntu.com/questions/759665/how-to-configure-nullmailer-to-work-with-gmx/759682#759682

https://wiki.mageia.org/en/Dma_Dragonfly_Mail_Agent

https://wiki.archlinux.org/title/Dma

在 Debian 11 和 LMDE 5 上测试

相关内容