DOKK / manpages / debian 10 / dot-forward / dot-forward.1qmail.en
dot-forward(1qmail) dot-forward(1qmail)

dot-forward - read a .forward file under qmail

in ~/.qmail: | dot-forward [ -nN ] file ...

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.

(Default.) Read and forward a message.
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

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.

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.

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.

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.

This is dot-forward 0.71. The dot-forward home page is http://pobox.com/~djb/dot-forward.html.

qmail-header(5), dot-qmail(5)