s/qmail:

Section: Misc. Reference Manual Pages (setforward)
Updated: 1
Index Return to Main Contents
 

NAME

setforward - create a forwarding database  

SYNOPSIS

setforward cdb tmp  

DESCRIPTION

setforward reads a table of forwarding instructions from its standard input. It converts the table into a forwarding database. The forwarding database can be used by fastforward.

setforward writes the forwarding database to tmp; it then moves tmp to cdb. tmp and cdb must be on the same filesystem.

If there is a problem creating tmp, setforward complains and leaves cdb alone.

The forwarding database format is portable across machines.  

INSTRUCTION FORMAT

A forwarding instruction contains a target, a colon, a series of commands, and a semicolon. Each command is a recipient address, owner address, external mailing list, or program. Commands are separated by commas.

For example,


   root@yp.to: god@heaven.af.mil, staff@af.mil;

says that mail for root@yp.to should be forwarded to the recipient addresses god@heaven.af.mil and staff@af.mil.

When setforward sees # it ignores all text from # to the end of the line:


   # this is a comment

setforward ignores all other line endings, so you can split a forwarding instruction across lines. It also ignores spaces and tabs. Exception: you can put a space (or tab or comma or whatever) into a target or command by putting a backslash in front of it. (However, NUL bytes are not permitted anywhere.)  

TARGETS

When fastforward sees the incoming address user@host.dom, it tries three targets: user@host.dom, @host.dom, and user@. It obeys the commands for the first target that it finds. Target names are interpreted without regard to case.

All the commands for a single target must be listed in a single instruction. Exception: an owner address can be listed in a separate instruction.  

RECIPIENT ADDRESSES

If a command begins with an ampersand, setforward takes the remaining bytes in the command as a recipient address:


   boss@yp.to: &god@heaven.af.mil;

fastforward sends each incoming mail message to the recipient address. The recipient address must include a fully qualified domain name. It cannot be longer than 800 bytes.

If a recipient address is itself a target in the forwarding table, fastforward will recursively handle the instructions for that target. Note that @host.dom and user@ wildcards do not apply here; they apply only to the incoming address.

If a command begins with a letter or number, setforward takes the entire command as a recipient address:


   boss@yp.to: god@heaven.af.mil;  

OWNER ADDRESSES

If a command begins with a question mark, setforward takes the remaining bytes in the command as an owner address:


   sos@heaven.af.mil: ?owner-sos@heaven.af.mil;

fastforward uses that address as the envelope sender for forwarded mail, so bounces will go back to that address. (Normally, if a message is forwarded to a bad address, it will bounce back to the original envelope sender.)  

EXTERNAL MAILING LISTS

If a command begins with a dot or slash, setforward takes the entire command as the name of a binary mailing list file created by setmaillist:


   sos@heaven.af.mil: /etc/lists/sos.bin;

fastforward will read and obey the commands in that file. The file must be world-readable and accessible to fastforward.  

PROGRAMS

If a command begins with a vertical bar or exclamation point, setforward takes the rest of the command as the name of a program to run:


   dew@: |dew-monitor;

For a vertical bar, fastforward feeds the message to that program. An exclamation point works the same way except that fastforward inserts $UFLINE, $RPLINE, and $DTLINE in front of the message.  

DUPLICATES

When fastforward is building the recipient list for a message, it keeps track of the recipient addresses and external mailing lists it has used. If the same command shows up again, it skips it. For example:


   everybody@yp.to: programmers@yp.to, testers@yp.to;
   programmers@yp.to: joe@yp.to, bob@yp.to;
   testers@yp.to: joe@yp.to, fred@yp.to;

A message to everybody@yp.to will be sent to joe@yp.to only once. (This also means that addresses in an internal forwarding loop are discarded.)

Exception: If a target has an owner address, commands for that target are considered different from commands for ``outside'' targets.  

SEE ALSO

newaliases(1), preline(1), printforward(1), setmaillist(1)


 

Index

NAME
SYNOPSIS
DESCRIPTION
INSTRUCTION FORMAT
TARGETS
RECIPIENT ADDRESSES
OWNER ADDRESSES
EXTERNAL MAILING LISTS
PROGRAMS
DUPLICATES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 12:19:24 GMT, December 09, 2024