为什么 sendmail.mc 文件支持未按照 m4 语法格式化的条目?

为什么 sendmail.mc 文件支持未按照 m4 语法格式化的条目?

我最近发现/etc/mail/sendmail.mc支持以下条目不是使用 m4 语法。例如:

LOCAL_CONFIG
O CipherList=HIGH

这对我来说没有意义,因为 mc 文件中几乎所有其他默认内容都具有预期的语法(例如dnl define(

MC 文件中哪些类型的东西需要 m4 语法,哪些不需要?

答案1

Sendmail 最终使用 sendmail.cf 文件。这种语法允许您直接向 sendmail.cf 添加行,而无需进行任何宏转换。在过去,人们直接编辑他们的 sendmail.cf 文件,而我们没有 sendmail.mc 文件

如果您查看 sendmail.mc 生成的 sendmail.cf 文件(通过 m4),您会看到很多:

O variable=value

線。

答案2

m4是一个宏处理器。

Sendmail 实际使用的文件sendmail.cf有其自己独特的格式,与 无关m4,并且人们很难理解和使用。

相反,m4它被用作预处理器来产生sendmail.cf文件中的文件。sendmail.mc您将在中使用的宏sendmail.mc更容易理解,并隐藏了真实配置的大部分复杂性。

相关内容