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 Nov  3  11:26:39 PDT 2007
    ---
    > ##### built by you@oursite.com on Fri Dec 14 04:14:25 PDT 2007

    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 that UUCP support and UUCP relaying are turned off by default. Always use FEATURE(nouucp) (FEATURE(nouucp) on page 636) to disable UUCP unless you actually support UUCP:

    FEATURE(`nouucp')               ← recommended through V8.9 FEATURE(`nouucp',`reject') ...

Get sendmail, 4th 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.