Pitfalls

  • The use of the # to place comments into a .mc file for eventual transfer to your configuration file might not work as expected. The # is not special to the m4 processor, so m4 continues to process a line even though that line is intended to be a comment. So, instead of:

    # Here we define $m as our domain

    (which would see define as an m4 keyword), use single quotes to insulate all such comments from m4 interpretation:

    # `Here we define $m as our domain'
  • Never blindly overwrite your sendmail.cf file with a new one. Always compare the new version to the old first:

    % diff /etc/mail/sendmail.cf oursite.cf
    19c19
    < ##### built by you@oursite.com on Sat Jan 1  11:26:39 PDT 2000
    ---
    > ##### built by you@oursite.com on Fri Dec 13 04:14:25 PDT
    2002

    Here, the only change was the date the files were built, but if you had expected some other change, this would tell you the change had failed.

  • Never edit your sendmail.cf file directly. If you do, you will never be able to generate a duplicate or update from your mc file. This is an especially serious problem when upgrading from one release of sendmail to a newer release. Should you make this mistake, reread the appropriate sections in this book and the documentation supplied with the sendmail source.

  • Don’t assume UUCP support and UUCP relaying are turned off by default. Always use the nouucp feature (FEATURE(nouucp)) to disable UUCP unless you actually support UUCP:

    FEATURE(`nouucp')            recommended through V8.9
    FEATURE(`nouucp',`reject') recommended with V8.10 and above

Get Sendmail, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.