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

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

 LOCAL_CONFIG O CipherList=HIGH 

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

什么types的东西需要MC文件中的m4语法,哪些不是?

Sendmail最终使用一个sendmail.cf文件。 这种语法可让您直接添加行到sendmail.cf,而无需任何macros转换。 早在过去,人们直接编辑了他们的sendmail.cf文件,而我们没有sendmail.mc文件

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

 O variable=value 

线。

m4是一个macros处理器。

Sendmail实际使用的sendmail.cf文件具有自己独特的格式,与m4无关,而且对于人们来说是非常难以理解和使用的。

而是使用m4作为预处理器,从sendmail.mc文件生成 sendmail.mc文件。 在sendmail.mc中使用的macros更容易理解,并隐藏了真正configuration的大部分复杂性。