Under V8 sendmail 's m4 configuration technique you include delivery agent definitions in your configuration file with the MAILER() m4 command. The form for that command looks like this:
MAILER(`name
')
For example, SMTP and UUCP support can be included in your file by using the following two commands:
MAILER(`smtp') MAILER(`uucp')
The delivery agent
M
definitions that correspond to MAILER() commands are kept in the
_CF_DIR_/mailer
directory (
_CF_DIR_
is described in
Section 19.2.1, "Maintain local files with _CF_DIR_"
). See
Table 19.3
in
Section 20.3.2, define()
for a list of all the available agents.
In general, the files in the
_CF_DIR_/mailer
directory should never be modified. If one of the definitions needs to be tuned, use the special keywords described under the individual equates (see
Section 30.4, "The Equates"
). For example, the following modifies the maximum message size (the
M=
equate see
Section 30.4.7, M=
) for the UUCP agent:
define(`UUCP_MAX_SIZE',`1000000')dnl
Here, the maximum size of a UUCP message has been increased from the default of 100,000 (one hundred thousand) bytes to a larger limit of 1,000,000 (one million) bytes.
Unfortunately, not all equates can be tuned with m4 defines. The
U=
equate for the
usenet
agent is one example. To change such a value, you need to copy the original definition, modify it, and put the modified definition in your local mc file. For example, to add a
U=
equate to the Usenet delivery agent, you might do the following: [2]
[2] We are fudging here. The grep (1) won't work because the
Musenet
definition is split over three lines. Instead, you need to use your editor to cut and paste.
%grep -h Musenet mailer/*
Musenet, P=USENET_MAILER_PATH, F=USENET_MAILER_FLAGS, S=10, R=20, _OPTINS(`USENET_MAILER_MAX', `M=', `, ')T=X-Usenet/X-Usenet/X-Unix, A=USENET_MAILER_ARGS $u
Here, the prototype definition for the
usenet
delivery agent is found. Copy that definition into your mc file and add the missing equate:
MAILER(usenet)dnl MAILER_DEFINITIONS Musenet, P=USENET_MAILER_PATH, F=USENET_MAILER_FLAGS, S=10, R=20,U=news:news
, _OPTINS(`USENET_MAILER_MAX', `M=', `, ')T=X-Usenet/X-Usenet/X-Unix, A=USENET_MAILER_ARGS $u
First, the MAILER() m4 command causes initial support for the
usenet
delivery agent to be included. The
MAILER_DEFINITIONS
section (see
Section 19.6.40, MAILER-DEFINITIONS
) then introduces your new delivery agent definition. Your new definition follows, and thus replaces, the original definition.
Create a new configuration file, and run grep (1) to check the result:
%m4 our.mc > our.cf
%grep ^Musenet our.cf
Musenet, P=/usr/lib/news/inews, F=rlsDFMmn, S=10, R=20, Musenet, P=/usr/lib/news/inews, F=rlsDFMmn, S=10, R=20, U=news:news,
From time to time you may need to create a brand-new delivery agent. To create a new delivery agent with the m4 system, first change to the cf/mailer directory. Copy an existing m4 file, one that is similar to your needs. Then edit that new file, and include it in your configuration file with
MAILER(newname)
Note that the MAILER m4 command automatically prefixes the name with
_CF_DIR_/mailer/
(
_CF_DIR_
is described in
Section 19.2.1
) and adds the suffix
.m4
, here forming
cf/mailer/newname.m4
.
But be aware that creation of a new delivery agent is not for the faint of heart. In addition to the delivery agent definition you will also need to create brand new
S=
and
R=
rules and rule sets.