Special features can be requested using the "FEATURE" macro. For example, the .mc line:
FEATURE(use_cw_file)
tells sendmail that you want to have it read an /etc/sendmail.cw file to get values for class $=w. The FEATURE may contain a single optional parameter -- for example:
FEATURE(mailertable, dbm /usr/lib/mailertable)
Available features are:
use_cw_file |
Read the file |
use_ct_file |
Read the file |
redirect |
Reject all mail addressed to "address.REDIRECT" with a ``551 User not local; please try <address>'' message. If this is set, you can alias people who have left to their new address with ".REDIRECT" appended. |
nouucp |
Don't do anything special with UUCP addresses at all. |
nocanonify |
Don't pass addresses to |
stickyhost |
If set, email sent to "user@local.host" are marked as "sticky" -- that is, the local addresses aren't matched against UDB and don't go through ruleset 5. This is used if you want a set up where "user" is not necessarily the same as "user@local.host", e.g., to make a distinct domain-wide namespace. Prior to 8.7 this was the default, and notsticky was used to turn this off. |
mailertable |
Include a "mailer table" which can be used to override routing for particular domains. The argument of the FEATURE may be the key definition. If none is specified, the definition used is: hash -o /etc/mailertable
Keys in this database are fully qualified domain names or partial domains preceded by a dot -- for example, "vangogh.CS.Berkeley.EDU" or ".CS.Berkeley.EDU". Values must be of the form: mailer:domain
where "mailer" is the internal mailer name, and "domain" is where to send the message. These maps are not reflected into the message header. |
domaintable |
Include a "domain table" which can be used to provide domain name mapping. Use of this should really be limited to your own domains. It may be useful if you change names (e.g., your company changes names from oldname.com to newname.com). The argument of the FEATURE may be the key definition. If none is specified, the definition used is: hash -o /etc/domaintable
The key in this table is the domain name; the value is the new (fully qualified) domain. Anything in the domaintable is reflected into headers; that is, this is done in ruleset 3. |
bitdomain |
Look up bitnet hosts in a table to try to turn them into internet addresses. The table can be built using the bitdomain program contributed by John Gardiner Myers. The argument of the FEATURE may be the key definition; if none is specified, the definition used is: hash -o /etc/bitdomain.db
Keys are the bitnet hostname; values are the corresponding internet hostname. |
uucpdomain |
Similar feature for UUCP hosts. The default map definition is: hash -o /etc/uudomain.db
At the moment there is no automagic tool to build this database. |
always_add_domain |
Include the local host domain even on locally delivered mail. Normally it is not added on unqualified names. However, if you use a shared message store but do not use the same user name space everywhere, you may need the host name on local names. |
allmasquerade |
If masquerading is enabled (using
|
limited_masquerade |
Normally, any hosts listed in |
masquerade_entire_domain |
If masquerading is enabled (using
MASQUERADE_AS(masq.com)
then *foo.org and *bar.com are converted to masq.com. Without this feature, only foo.org and bar.com are masqueraded. NOTE: only domains within your jurisdiction and current hierarchy should be masqueraded using this. |
masquerade_envelope |
Using this features instructs sendmail to masquerade the envelope sender and recipient as well as those in the headers. |
genericstable |
This feature will cause certain addresses originating in the local
domain or a domain listed in The argument of hash -o /etc/genericstable
The key for this table is either the full address or the unqualified
username (the former is tried first); the value is the new user address. If
the new user address does not include a domain, |
virtusertable |
A domain-specific form of aliasing, allowing multiple virtual domains to be hosted on one machine. For example, if the virtuser table contained:
info@foo.com foo-info
then mail addressed to info@foo.com will be sent to the address foo-info,
mail addressed to info@bar.com will be delivered to bar-info, and mail
addressed to anyone at baz.org will be sent to jane@elsewhere.net. The
username from the original address is passed as
@foo.org %1@elsewhere.com
meaning someone@foo.org will be sent to someone@elsewhere.com. All the host names on the left hand side (foo.com, bar.com, and baz.org)
must be in hash -o /etc/virtusertable
A new definition can be specified as the second argument of the FEATURE macro, such as
FEATURE(virtusertable, dbm -o /etc/mail/virtusers)
|
nodns |
We aren't running DNS at our site (for example, we are UUCP-only connected). It's hard to consider this a "feature", but hey, it had to go somewhere. Actually, as of 8.7 this is a no-op -- remove "dns" from the hosts service switch entry instead. |
nullclient |
This is a special case -- it creates a stripped down configuration file containing nothing but support for forwarding all mail to a central hub via a local SMTP-based network. The argument is the name of that hub. The only other feature that should be used in conjunction with this one is
" |
local_procmail |
Use procmail as the local mailer. This mailer can make use
of the "user+indicator@local.host" syntax; normally the +indicator is just
tossed, but by default it is passed as the |
bestmx_is_local |
Accept mail as though locally addressed for any host that lists us as the best possible MX record. This generates additional DNS traffic, but should be OK for low to medium traffic hosts. THIS FEATURE IS FUNDAMENTALLY INCOMPATIBLE WITH WILDCARD MX RECORDS!!! If you have a wildcard MX record that matches your domain, you cannot use this feature. |
smrsh |
Use the SendMail Restricted SHell (smrsh) provided with the
distribution instead of |