is a program designed to allow you to have your inbound
mail processed according to a complex set of selection criteria.
You do not normally invoke
is a program designed to allow you to have your inbound
mail processed according to a complex set of selection criteria.
You do not normally invoke
.BR sendmail ,
the sender will obtained from the UUCP
\*(lqFrom:\*(rq line, if present. The user may override these
.BR sendmail ,
the sender will obtained from the UUCP
\*(lqFrom:\*(rq line, if present. The user may override these
.B \-file
switch sets the name of the file from which the message should be
read, instead of reading stdin. This is useful when debugging a
.B \-file
switch sets the name of the file from which the message should be
read, instead of reading stdin. This is useful when debugging a
file, as they
allow you to see the decisions and actions that
.B slocal
is taking, as well as check for syntax errors in your
file, as they
allow you to see the decisions and actions that
.B slocal
is taking, as well as check for syntax errors in your
.PP
in your \&.forward file in your home directory. This will cause
your MTA to invoke
.B slocal
on your behalf when a message arrives.
.PP
in your \&.forward file in your home directory. This will cause
your MTA to invoke
.B slocal
on your behalf when a message arrives.
characters may be included in a single argument by enclosing the entire
argument in double-quotes. A double-quote can be included by preceding it
with a backslash. Lines beginning with `#' and blank lines are ignored.
.PP
The format of each line in the
characters may be included in a single argument by enclosing the entire
argument in double-quotes. A double-quote can be included by preceding it
with a backslash. Lines beginning with `#' and blank lines are ignored.
.PP
The format of each line in the
The delivery file is always read completely, so that several matches
can be made and several actions can be taken.
.RE
The delivery file is always read completely, so that several matches
can be made and several actions can be taken.
.RE
.SS "Security of Delivery Files"
In order to prevent security problems, the
.SS "Security of Delivery Files"
In order to prevent security problems, the
file must be owned either by the user or by root, and must be
writable only by the owner. If this is not the case, the file is
not read.
.PP
If the
file must be owned either by the user or by root, and must be
writable only by the owner. If this is not the case, the file is
not read.
.PP
If the
file cannot be found, or does not
perform an action which delivers the message, then
.B slocal
will check for a global delivery file at
file cannot be found, or does not
perform an action which delivers the message, then
.B slocal
will check for a global delivery file at
.PP
If a global delivery file cannot be found or does not perform an
action which delivers the message, then standard delivery to the
.PP
If a global delivery file cannot be found or does not perform an
action which delivers the message, then standard delivery to the
.SS "Example Delivery File"
To summarize, here's an example delivery file:
.PP
.SS "Example Delivery File"
To summarize, here's an example delivery file:
.PP
.SS "Sub-process environment"
When a process is invoked, its environment is: the user/group-ids are
set to recipient's ids; the working directory is the recipient's home
.SS "Sub-process environment"
When a process is invoked, its environment is: the user/group-ids are
set to recipient's ids; the working directory is the recipient's home
The parent would return the appropriate
value immediately, and the child could continue on, doing whatever it
wanted for as long as it wanted. This approach is somewhat risky if
the parent is going to return an exit status of zero. If the parent is
going to return a non-zero exit status, then this approach can lead to
The parent would return the appropriate
value immediately, and the child could continue on, doing whatever it
wanted for as long as it wanted. This approach is somewhat risky if
the parent is going to return an exit status of zero. If the parent is
going to return a non-zero exit status, then this approach can lead to
-.ta \w'%etcdir%/ExtraBigFileName 'u
-^%etcdir%/mts.conf~^nmh mts configuration file
-^$HOME/\&.maildelivery~^The file controlling local delivery
-^%etcdir%/maildelivery~^Rather than the standard file
-^%mailspool%/$USER~^The default maildrop
+.ta \w'%nmhetcdir%/ExtraBigFileName 'u
+^%nmhetcdir%/mts.conf~^nmh mts configuration file
+^$HOME/.maildelivery~^The file controlling local delivery
+^%nmhetcdir%/maildelivery~^Rather than the standard file
+^%mailspool%/$USER~^The default mail drop
-.RB ` \-maildelivery "' defaults to $HOME/\&.maildelivery"
-.RB ` \-mailbox "' deaults to %mailspool%/$USER"
+.RB ` \-maildelivery "' defaults to $HOME/.maildelivery"
+.RB ` \-mailbox "' defaults to %mailspool%/$USER"
file syntax is somewhat limited. But
.B slocal
has been modified and extended, so that is it no longer compatible with
file syntax is somewhat limited. But
.B slocal
has been modified and extended, so that is it no longer compatible with