Sendmail兼容接口

Sendmail兼容接口

Postfix(以及许多其他东西)声称他们提供sendmail compatible interface.由于我想编写自己的 sendmail 实现,因此我想知道这实际上意味着什么。有没有类似 RFC 的内容来描述 sendmail 兼容的实际含义?比如它应该支持什么论点之类的?

答案1

没有正式的规范,但实际上“sendmail 兼容接口”意味着您有一个带有名为 的本地邮件注入代理的 MTA sendmail,并且如果您用它替换真实的,则sendmail(8)一切都会继续运行,而不会注意到更改。这意味着至少要实现、、 和sendmail(8)的选项,并接受与 相同格式的消息。-t-i-oisendmail(8)

话又说回来,既然您正在编写一个替代品,您就非常熟悉所有相关的 RFC,不是吗? :)

答案2

在这种情况下,“sendmail 兼容”不仅仅是谈论 RFC 兼容,更多的是谈论这样一个事实:一旦安装了 postfix,您就可以运行大多数基本的“sendmail-familiar”命令,并且 postfix 将返回类似的结果(例如, “sendmail -bt”或“mailq”等)。好处是您可以运行 postfix,并且任何希望使用 sendmail 的软件都将继续工作,而无需知道它们正在使用 postfix。

我强烈警告您不要在 SMTP MTA 上写信。 RFC 很长并且经过多次修改并且有些复杂。我之所以知道,是因为我已经用“C”和汇编程序编写了一个用于大容量发送的 MTA,而复杂性和不断发展的 RFC 有时是一个挑战。加密、域密钥和 DKIM 以及 SPF 和 DMARC 的添加增加了复杂性。除此之外,许多其他非 sendmail-MTA 在某些时候违反了 RFC。一切都必须与 sendmail 兼容,它是“事实上的”标准。

我所操作系统的系统每月发送数十亿条加密消息没有什么与 sendmail 相比,可以更快或更好地处理邮件量,或者更易于管理。 Sendmail 有点“神秘”,但是一旦您了解了一些基础知识,它就很容易管理和维护。

相关内容