GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
setforward(1) FreeBSD General Commands Manual setforward(1)

setforward - create a forwarding database

setforward cdb tmp

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.

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.)

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.

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;

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.)

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.

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.

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.

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

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.