Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
setforward(1)		     General Commands Manual		   setforward(1)

NAME
     setforward - create a forwarding database

SYNOPSIS
     setforward cdb tmp

DESCRIPTION
     setforward  reads	a table of forwarding instructions from its standard in-
     put.  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, ex-
     ternal 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  ad-
     dresses 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  re-
     gard to case.

     All  the  commands  for a single target must be listed in a single instruc-
     tion.  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, fastfor-
     ward will recursively handle the instructions for that target.   Note  that
     @host.dom and user@ wildcards do not apply here; they apply only to the in-
     coming 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 com-
     mand 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 ex-
     clamation 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)

								   setforward(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=setforward&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help