我最近发现/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
更容易理解,并隐藏了真实配置的大部分复杂性。