Sentrion Overview Sentrion Platform Sentrion REAC Sentrion Mimecast Hard Appliances Virtual Appliances
Overview Policy Compliance Secure Content Filtering Cloud Partner Enterprise Community
Overview Download Security Support News Documentation Tips & Tricks DKIM FAQ Misc Milters
Overview Directory Synchronization Messaging Architecture Review High Volume Mail HIPAA Policy QUICKStart Implementation Performance Tuning Training Services Overview Message Routing and
Configuration
Message Policy
Management
Connection Control /
Attack Prevention
Directory Configuration
and Management
Overview Sendmail Partners Milter Community Industry Organizations System Integrators & Distributors
Overview Silver Support Gold Support Platinum Support Open Source Support Security Advisories Contact Support
Overview Customers Events Press Room Board & Investors Management Careers Contact Us
Overview Ask the Experts Security Chalk Talks Collateral Product Reviews & Awards IP Reputation Check Real-time Outbreak Monitor
Sendmail Inc.

HOME | CUSTOMER LOGIN
Follow Sendmail on Twitter
The Sendmail Blog
Sentrion Message Processors
Sentrion Application Store
Services
Partners
Support
Company
Resources
Open Source
 

Useful links

Table of Contents
home
GNU m4

Further Reading

Linux Network Admistrators Guide ch. 18 @ Linux Network Admin guide for sendmail
GNU m4 Manual
sendmail - O’Reilly, Costales and Allman, ISBN1-56592-222-0, chapter 19

App Spotlight

Higher Education Policies

INTRODUCTION AND EXAMPLE

Configuration files are contained in the subdirectory "cf", with a suffix ".mc". They must be run through "m4" to produce a ".cf" file. You must pre-load "cf.m4":

m4 ${CFDIR}/m4/cf.m4 config.mc > config.cf

Alternatively, you can simply:

cd ${CFDIR}/cf
./Build config.cf

where ${CFDIR} is the root of the cf directory and config.mc is the name of your configuration file. If you are running a version of M4 that understands the __file__ builtin (versions of GNU m4 >= 0.75 do this, but the versions distributed with 4.4BSD and derivatives do not) or the -I flag (ditto), then ${CFDIR} can be in an arbitrary directory. For "traditional" versions, ${CFDIR} must be "..", or you must use -D_CF_DIR_=/path/to/cf/dir/ -- note the trailing slash!
For example:

m4 -D_CF_DIR_=${CFDIR}/ ${CFDIR}/m4/cf.m4 config.mc > config.cf
Let's examine a typical .mc file:

	divert(-1)
	#
	# Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
	#	All rights reserved.
	# Copyright (c) 1983 Eric P. Allman.  All rights reserved.
	# Copyright (c) 1988, 1993
	#	The Regents of the University of California.  All rights reserved.
	#
	# By using this file, you agree to the terms and conditions set
	# forth in the LICENSE file which can be found at the top level of
	# the sendmail distribution.
	#

	#
	#  This is a Berkeley-specific configuration file for HP-UX 9.x.
	#  It applies only to the Computer Science Division at Berkeley,
	#  and should not be used elsewhere.   It is provided on the sendmail
	#  distribution as a sample only.  To create your own configuration
	#  file, create an appropriate domain file in ../domain, change the
	#  `DOMAIN' macro below to reference that file, and copy the result
	#  to a name of your own choosing.
	#
	divert(0)

The divert(-1) will delete the crud in the resulting output file. The copyright notice can be replaced by whatever your lawyers require; our lawyers require the one that is included in these files. A copyleft is a copyright by another name. The divert(0) restores regular output.

VERSIONID(`<SCCS or RCS version id>')

VERSIONID is a macro that stuffs the version information into the resulting file. You could use SCCS, RCS, CVS, something else, or omit it completely. This is not the same as the version id included in SMTP greeting messages -- this is defined in m4/version.m4.

OSTYPE(`hpux9')dnl

You must specify an OSTYPE to properly configure things such as the pathname of the help and status files, the flags needed for the local mailer, and other important things. If you omit it, you will get an error when you try to build the configuration. Look at the ostype directory for the list of known operating system types.

DOMAIN(`CS.Berkeley.EDU')dnl

This example is specific to the Computer Science Division at Berkeley. You can use "DOMAIN(`generic')" to get a sufficiently bland definition that may well work for you, or you can create a customized domain definition appropriate for your environment.

MAILER(`local')
MAILER(`smtp')

These describe the mailers used at the default CS site. The local mailer is always included automatically.

Beware: MAILER declarations should always be at the end of the configuration file.

The general rules are that the order should be:

VERSIONID
OSTYPE
DOMAIN
FEATURE
local macro definitions
MAILER
LOCAL_CONFIG
LOCAL_RULE_*
LOCAL_RULESETS

There are a few exceptions to this rule. Local macro definitions which influence a FEATURE() should be done before that feature. For example, a define(`PROCMAIL_MAILER_PATH', ...) should be done before FEATURE(`local_procmail').

BE SURE YOU CUSTOMIZE THESE FILES!
They have some Berkeley-specific assumptions built in, such as the name of their UUCP-relay. You'll want to create your own domain description, and use that in place of domain/Berkeley.EDU.m4.

Back to Table Of Contents cf/README for Sendmail 8.12.11 Eric Allman of the Sendmail Consortium Rev: 1.1.1.1, Updated 2006/10/11 Back to Top


Site Map | Privacy Policy | Terms & Conditions | Copyright © 1998-2013 Sendmail, Inc. All Rights Reserved.