home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Previous Section Next Section

ForwardPath

Set forward file search path V8.and later

When mail is being delivered to a local user, sendmail normally attempts to open and read a file in the user's home directory called .forward. If that file exists and is readable, the addresses in that file replace the local username for delivery.[32]

[32] That is, if it is in an unsafe directory, or if the file itself is unsafe or doesn't exist. See the discussions under the DontBlameSendmail option, specifically See this section, See this section, and See this section.

Under V8 sendmail the ForwardPath option is used to define alternative names and locations for the user's ~/.forward file.

The forms of the ForwardPath option are as follows:

O ForwardPath=path             configuration file (V8.7 and later) 
-OForwardPath=path             command line (V8.7 and later) 
define(`confFORWARD_PATH',path)    mc configuration (V8.7 and later) 
OJpath                         configuration file (V8.6 deprecated) 
-oJpath                        command line (V8.6 deprecated) 

The path is a colon-separated list of files. An attempt is made to open and read each in turn, from left to right, until one is successfully read:

define(`confFORWARD_PATH',`/var/forward/$u:$z/.forward')

Macros can, and should, be used in the path file locations. In this example, sendmail first looks in the file /var/forward/$u (where the macro $u contains the user's login name, $u). If that file can't be opened for reading, sendmail tries reading $z/.forward (where the $z macro contains the user's home directory, $z). Other macros of interest are $w (the local hostname, $w), $f (the user's full name, $f), $h (the user's +detail, Section 12.4.4), $r (the sending protocol, $r), and $s (the sending host, $s). The recommended declaration is to use the name of the local host. Thus:

define(`confFORWARD_PATH',`$z/.forward.$w:$z/.forward')

If the path or the entire option is omitted, the default is $z/.forward. Therefore, omitting the ForwardPath option causes V8 sendmail to emulate older versions by looking only in the ~/.forward file for user-forwarding information.

Beginning with V8.7 sendmail, the F=w delivery agent flag (F=w) must be set for the recipient's delivery agent, or all forwarding is skipped. Previously, this was tied to the delivery agent named local.

The ForwardPath option is not safe. If specified from the command line, it can cause sendmail to relinquish its special privileges.

    Previous Section Next Section