Há uma diferença sutil, mas importante, entre dnl
e #
aqui.
dnl
significa "excluir por nova linha" . Quando você processa seu sendmail.mc
em sendmail.cf
usando m4
(ou possivelmente algum frontend), os caracteres dnl
e tudo que os segue, incluindo a próxima nova linha, serão descartados. (E todas essas linhas terminam com dnl
para suprimir linhas em branco extras na saída sendmail.cf
.)
Nada começando com dnl
até o final da linha sairá de sendmail.mc
e em sendmail.cf
.
Qualquer coisa que permaneça na saída, é claro, será a configuração do sendmail ou um comentário que comece com #
, que será copiado como está em sendmail.cf
, onde eles serão ignorados.
Qualquer coisa que comece com #
e não seja excluída acima se transformará em sendmail.cf
não ser comentado como comentário.
No seu exemplo, alguém queria que todos os recursos comentados fossem removidos de sendmail.cf
, assim como os comentários, já que os comentários não teriam sentido sem os recursos presentes.