Solaris 8 System Administration Supplement

New and Revised m4 Configuration Macros for sendmail and Related Topics

This section contains a table of new and revised m4 configuration macros for sendmail and descriptions of the following.

Generally, the syntax for declaring the macros that are described in the following table is as shown.


symbolic_name(`value')

Table 21–12 New and Revised m4 Configuration Macros for sendmail

m4 Macro

Description 

FEATURE() declarations

For details, refer to New and Revised FEATURE() Declarations.

LOCAL_DOMAIN()

This macro adds entries to class w ($=w).

MASQUERADE_EXCEPTION()

A new macro that defines hosts or subdomains that cannot be masqueraded. 

SMART_HOST()

You can now use this macro for bracketed addresses, such as user@[host].

TRUST_AUTH_MECH()

If SMTP AUTH is used, then relaying is allowed for any user who is authenticated as a "trusted" mechanism. This means the mechanism has been defined in the TRUST_AUTH_MECH(`list_of_mechanisms') declaration.

VIRTUSER_DOMAIN() or VIRTUSER_DOMAIN_FILE()

When these macros are used, include $={VirtHost} in $=R. As a reminder, $=R is the set of host names that are allowed to relay.

New and Revised FEATURE() Declarations

The following table describes new and revised keywords for m4 FEATURE() declarations. To declare a feature in a .mc file, use the syntax from the following example.


FEATURE(`key_word', `argument')

The following table describes which keywords need arguments.

Table 21–13 New and Revised Keywords for FEATURE() Declarations

Keyword 

Description 

delay_checks

Argument: friend, which enables a spam-friend test, or hater, which enables spam-hater test.

A new keyword that delays all checks. By using FEATURE(`delay_checks'), the rule sets check_mail and check_relay are not called when a client connects or issues a MAIL command, respectively. Instead, these rule sets are called by the check_rcpt rule set. For details, refer to the /usr/lib/mail/README file.

dnsbl

A new keyword that accepts up to two arguments:

    DNS server name


    Rejection message


You can include this keyword multiple times. 

generics_entire_domain

Argument: None 

A new keyword that you can also use to apply genericstable to subdomains of $=G.

ldap_routing

Argument: For details, refer to the LDAP ROUTING section in /usr/lib/mail/README.

A new keyword that implements LDAP address routing.  

local_lmtp

Argument: Path name of an LMTP-capable mailer. The default is mail.local, which is LMTP-capable in this Solaris release.

A keyword that now sets the delivery status notification (DSN) diagnostic-code type for the local mailer to the proper value of SMTP.

nocanonify

Argument: canonify_hosts or nothing

A keyword that now includes the following features. 

Permits a list of domains, as specified by CANONIFY_DOMAIN or CANONIFY_DOMAIN_FILE, to be passed to the $[ and $] operators for canonification.

Permits addresses that have only a host name, such as <user@host>, to be canonified, if canonify_hosts is specified as its parameter.

Adds a trailing dot to addresses with more than one component. 

no_default_msa

Argument: None 

A new keyword that turns off sendmail's default setting from m4–generated configuration files to listen on several different ports, an implementation of RFC 2476.

nouucp

Argument: reject, which does not allow the ! token, or nospecial, which does allow the ! token.

A keyword that determines whether or not to allow the ! token in the local part of an address.

nullclient

Argument: None 

A keyword that now provides the full rule sets of a normal configuration, allowing anti-spam checks to be performed. 

relay_mail_from

Argument: The domain is an optional argument.

A new keyword that allows relaying if the mail sender is listed as a RELAY in the access map and is tagged with the From: header line. If the optional domain argument is given, the domain portion of the mail sender is also checked.

virtuser_entire_domain

Argument: None 

A keyword that you can now use to apply $={VirtHost}, a new class for matching virtusertable entries that can be populated by VIRTUSER_DOMAIN or VIRTUSER_DOMAIN_FILE.

FEATURE(`virtuser_entire_domain') can also apply the class $={VirtHost} to entire subdomains.

Revised MAILER() Declaration for m4 Configuration

The MAILER() declaration specifies support for delivery agents. To declare a delivery agent, use the following syntax.


MAILER(`symbolic_name')

In this new version of sendmail, the MAILER(`smtp') declaration now includes an additional mailer, dsmtp, which provides on-demand delivery by using the F=% mailer flag. The dsmtp mailer definition uses the new DSMTP_MAILER_ARGS, which defaults to IPC $h.