NAME¶
dot-forward - read a .forward file under qmail
SYNOPSIS¶
in
~/.qmail:
| dot-forward [
-nN ]
file ...
OVERVIEW¶
dot-forward forwards incoming messages according to sendmail-style
instructions in
file, if
file exists. Normally
file is
.forward.
WARNING: If you create a
.qmail file to enable
dot-forward,
make sure to add a second line specifying delivery to your normal mailbox. For
example:
|dot-forward .forward
./Mailbox
COMPATIBILITY WARNING: dot-forward does not support
:include: or mbox deliveries. You can use the delivery mechanism
described in
dot-qmail(5) instead.
OPTIONS¶
- -N
- (Default.) Read and forward a message.
- -n
- Parse file and print the forwarding instructions in
it, one per line; do not follow the instructions. You can use this option
from the command line to see how your .forward file will be
interpreted:
dot-forward -n .forward
FILE HANDLING¶
When a message arrives,
dot-forward opens
file and handles it as
discussed below. It exits 99, so
qmail-local will ignore further
instructions in
.qmail. Exception: If
file specifies delivery
directly to you,
dot-forward exits 0, so
qmail-local will read
further instructions in
.qmail.
If
file does not exist,
dot-forward exits 0. You can list several
files; then
dot-forward will try each one in turn, using the
first one that exists, or exiting 0 if none exist.
COMPATIBILITY WARNING: dot-forward treats an empty
file as
if it did not exist. Versions of sendmail before V8 would throw away the
incoming message.
COMPATIBILITY WARNING: If
dot-forward encounters a temporary error
opening
file, it exits 111, so that
qmail-local will try again
later. sendmail assumes incorrectly that
file does not exist.
COMPATIBILITY WARNING: file must be readable by
dot-forward, which is normally running as the user. sendmail places
different constraints on its
.forward permissions, since it is normally
running as root.
FORWARDING¶
Normally
file contains an address.
dot-forward forwards the
message to that address.
The address is parsed as if it were in an RFC 822 message header. Parenthesized
comments and bracketed addresses are permitted:
bob (Bob, the postmaster) @heaven.af.mil
Addresses with special characters must be quoted:
"spaced out mailbox"@heaven.af.mil
Address groups are not permitted.
file can contain any number of lines, each line containing any number of
addresses.
dot-forward forwards the message to each address:
bob, fred, susan
Joe Shmoe <shmoe@heaven.af.mil>
An address without a fully qualified domain name is handled as described in
qmail-header(5). Exception: Certain addresses without domain names are
handled specially, as described below.
DIRECT DELIVERY¶
If an address does not contain a domain name, and matches the environment
variable
$USER (without regard to case), it specifies delivery directly
to you.
If an address matches
$USER@$HOST (without regard to case), it specifies
delivery directly to you.
COMPATIBILITY WARNING: sendmail's handling of quotes and backslashes
violates RFC 821 and RFC 822, and is not supported by
dot-forward.
dot-forward treats
\joe the same way as
joe. The
dot-qmail delivery mechanism lets each user manage several addresses,
so there is no need for a special syntax to get around forwarding.
COMMANDS¶
If an address does not contain a domain name, and begins with a vertical bar,
dot-forward takes the rest of the address as a command to run:
bob, "|vacation bob"
dot-forward feeds the message to the command, preceded by the environment
variables
$UFLINE,
$RPLINE, and
$DTLINE.
COMPATIBILITY WARNING: Internet addresses can legitimately start with a
slash or vertical bar.
dot-forward treats anything with an unquoted @
as an address. sendmail appears to have various problems coping with these
addresses, and with commands that contain @ signs.
Any line in
file that begins with # is ignored:
# this is a comment
COMPATIBILITY WARNING: Versions of sendmail before V8 did not allow
comments in
.forward files.
VERSION¶
This is
dot-forward 0.71. The
dot-forward home page is
http://pobox.com/~djb/dot-forward.html.
SEE ALSO¶
qmail-header(5),
dot-qmail(5)