Sendmail

sendmail.mc 文件中的“dnl”和“dnl #”有什麼區別?

  • January 26, 2022

dnldnl #in 有什麼區別/etc/mail/sendmail.mc?如果我想啟用一些需要在前面的東西?同樣,如果我想“註釋掉”某些東西,我需要什麼前綴?

例如:

dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well
dnl #
dnl FEATURE(masquerade_entire_domain)dnl
dnl #
dnl MASQUERADE_DOMAIN(localhost)dnl
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
dnl MASQUERADE_DOMAIN(foo.com)dnl
dnl MASQUERADE_DOMAIN(foo2.lan)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
dnl MAILER(cyrusv2)dnl

dnl和這裡有一個微妙但重要的區別#

dnl意思是“通過換行刪除”。當您處理您sendmail.mcsendmail.cf使用m4(或可能是某些前端)時,將刪除字元dnl及其後面的所有內容,包括下一個換行符。(所有這些行都以抑制輸出中的額外空白行結尾。)dnl``sendmail.cf

從行尾開始的任何dnl內容都不會使其脫離sendmail.mc和進入sendmail.cf

當然,保留在輸出中的任何內容要麼是 sendmail 配置,要麼是以 開頭的註釋#,它們將按原樣複製到sendmail.cf中,在那裡它們將被忽略。

任何以上面開頭#且未刪除的內容都將使其成為sendmail.cf不受干擾的評論。

在您的範例中,有人打算從 中刪除所有評論的功能sendmail.cf以及評論,因為如果沒有這些功能,評論將毫無意義。

引用自:https://serverfault.com/questions/574115