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

  
 
  

home | help
MAKEALIASES(8)		     Double Precision, Inc.		  MAKEALIASES(8)

NAME
     makealiases - Create an alias database

SYNOPSIS
     makealiases    [-protocol=protocol]    [-alias=filename]	 [-src=pathname]
		 [-tmp=filename] [-chk] [-dump] [module]

DESCRIPTION
     The Courier mail server's /usr/local/etc/courier/aliases.dat file is a uni-
     fied implementation of sendmail-style address aliasing, qmail-style virtual
     domains, plus several Courier mail server-style enhancements.

     The term aliasing refers to substituting one or more addresses for  another
     address.  A  one-to-one substitution results in the Courier mail server ac-
     cepting mail for one address, and delivering the mail to another address. A
     one-to-many substitution results in the Courier mail server accepting  mail
     for one address, and delivering a separate copy of the message to every ad-
     dress defined by the alias.

     /usr/local/etc/courier/aliases.dat  is a binary database file.  makealiases
     creates the binary database file by reading the  aliases  from  plain  text
     files,  and  makealiases  creates /usr/local/etc/courier/aliases.dat by de-
     fault.

     makealiases creates /usr/local/etc/courier/aliases.dat  from  one	or  more
     source  files,  which  are plain text files that may be created by any text
     editor. The format of those source files  is  defined  below.  By	default,
     makealiases obtains the source text from /usr/local/etc/courier/aliases. If
     this  is  a  text	file,  it  is used verbatim. If this is a directory (the
     Courier mail server creates it as a directory by default), all the non-hid-
     den files in this directory are concatenated together.

OPTIONS
     -alias=filename
	 Create filename, instead of /usr/local/etc/courier/aliases.dat.

     -chk
	 Try to search for bad addresses used in the aliases.dat file. This  op-
	 tion  takes  some  time  to complete. It does not create an aliases.dat
	 file, but instead tries to check every address specified by the  source
	 text  file.  Why is this necessary? That's because non-delivery reports
	 will not be sent to the sender for failures in delivering  mail  to  an
	 aliased  address.  This is by design. the Courier mail server considers
	 aliases to be private mailing lists. Because non-delivery  notices  are
	 not sent, bad addresses will not be immediately detected.

	     Note
	     The  -chk option is really effective for addresses which are local,
	     because there is no real way to determine if a remote mail  address
	     is valid.

     -dump
	 Do  not  create  aliases.dat, instead display the contents of the alias
	 database, in plain text form. The contents will be  the  combined  con-
	 tents	of all the source files, with all addresses converted to canoni-
	 cal format, with duplicates removed and sub-aliases expanded.

     -src=pathname
	 Use pathname instead of /usr/local/etc/courier/aliases  as  the  source
	 file.	 pathname can also refer to a directory. This concatenates every
	 non-hidden file in the directory.

     -tmp=filename
	 Use   filename   as   a   temporary   file,   instead	  of	/usr/lo-
	 cal/etc/courier/aliases.tmp.  makealiases requires a temporary file for
	 its own purposes, which is automatically removed when done. This tempo-
	 rary  file  MUST  reside  on the same filesystem as aliases.dat. If the
	 -alias option specifies a file on a different filesystem, use this  op-
	 tion to specify where to temporary place a file in the same filesystem.
	 Because  makealiases always uses the same name for a temporary file you
	 cannot run more than one makealiases process at the same time.

     -protocol=protocol
	 Use an alias list that's private to messages coming from protocol.  See
	 below.

     The  optional module specifies the module whose rewriting rules are used to
     convert E-mail addresses into a canonical form. If not specified, the local
     module's address rewriting rules will be used.

PROTOCOL ALIASES
     Addresses in /usr/local/etc/courier/aliases.dat will be  checked  in  every
     message.  Use  the  -protocol option to create aliases that will be checked
     only for message that are received via a specific protocol, such as  ESMTP,
     UUCP, or locally-generated mail. This allows you, for example, to create an
     alias  such  as  "everyone",  which  is only avaliable to locally generated
     mail, and does not work for mail received via ESMTP. The  argument  to  the
     -protocol option is one of: esmtp, uucp, or local.

     Protocol-specific	alias  files  are  /usr/local/etc/courier/aliases-proto-
     col.dat, where "protocol"	is  the  specific  protocol,  such  as	"local",
     "esmtp",  or  "uucp",  and  the  source  file  read by makealiases would be
     /usr/local/etc/courier/aliases-protocol. If the -protocol option is  speci-
     fied,   makealiases   will   access   these   files   instead  of	/usr/lo-
     cal/etc/courier/aliases.dat and /usr/local/etc/courier/aliases.

ALIAS SPECIFICATIONS
     The sources file used to create the binary aliases.dat database  are  plain
     text files that may be created using any editor.

     Each alias specification takes the following form:

	 alias: address1, address2, ...

     Mail  received by the Courier mail server addressed to alias will be deliv-
     ered to the list of addresses specified. The list of addresses may be split
     across multiple lines, if the second and  subsequent  line  starts  with  a
     space character.

     Lines starting with the # character are ignored, they are comments.

     alias  is	not  restricted  to  be a local address. It may be any valid RFC
     2822[1] address. All addresses do not necessary have to be in  a  canonical
     form.

	 alias: :include:/absolute/pathname

     This  notation  reads  the  list  of  addresses  from  another  file,  /ab-
     solute/pathname. This file should contain one address per line (comma sepa-
     rated addresses on the same line will also work).

	 Note

	 If alias refers to a local, existing, account, this account will  never
	 get  any  mail.  Any  mail with the account listed as recipient will be
	 redirected to all the addresses specified for that  alias.  To  have  a
	 copy  of the mail delivered to the account, define it as one of the ad-
	 dresses in the alias itself. For example:

	     larry: larry, moe, curly, shemp

	 Larry will still receive his mail, but copies will will also be sent to
	 Moe, Curly, and Shemp. If Larry wasn't specified in the alias, he would
	 never get any mail, it will all be forwarded to Moe, Curly, and Shemp.

DUPLICATE ADDRESSES
     Alias definitions may refer to other alias definitions, and makealiases au-
     tomatically incorporates addresses from other aliases. If the same  address
     is listed in multiple aliases, and two or more of them are specified as re-
     cipients  of  the same message, only one copy of the message will be deliv-
     ered to the address.

VIRTUAL DOMAINS
     The following special syntax implements a virtual domain. A virtual  domain
     redirects all mail for an entire domain to one user:

	 @domain: user

     This  special entry results in any recipient address of the form foo@domain
     to be rewritten as user-foo@me, where me is the hostname  of  the	machine,
     which we expect to be a local domain.

     The  following  examples use the alias entry "@example.com: john", and "do-
     main.com" is in the control/me file. The  address	"postmaster@example.com"
     becomes  "john-postmaster@domain.com", and "sales-info@example.com" becomes
     "john-sales-info@domain.com".

     The intended behavior is to use an actual account named john. As  a  result
     of the virtual domain address rewriting, delivery instructions for postmas-
     ter@example.com  can  now	be specified by john's $HOME/.courier-postmaster
     file, and delivery instructions for sales-info@example.com may be specified
     by $HOME/.courier-sales-info.  john's $HOME/.courier-default may be used to
     specify delivery instructions for any other address in the example.com  do-
     main, which does not have an explicit .courier file.

     If  the  alias  entry  was  "@example.com: john-example", the corresponding
     files  in	 john's   $HOME   directory   are   .courier-example-postmaster,
     .courier-example-sales-info,   and   .courier-example-default.   See   dot-
     courier(5)[2] for more information on .courier files.

	 Note

	 Virtual domain rewriting is NOT recursive, unlike regular aliases.  For
	 example:

	     tom: john@example.com
	     @example.com: larry

	 You should explicitly expand the alias out:

	     tom: larry-john

PROGRAM OR MAILBOX ALIASES
     The  following  notation  associates an address directly with a mailbox, or
     with a program:

	 info: /var/shared/info

     Messages addressed to "info" will be delivered to the  mailbox  or  maildir
     /var/shared/info. A full pathname must be specified.

	 info: | /usr/local/shared/info

     Mail  addressed  to  "info" will be delivered to the indicated program. The
     program receives each message on standard input.

     Program/mailbox delivery notation is primarily used to support legacy send-
     mail aliases entries. This is considered to be a legacy  feature,	and  new
     installations should create a dot-courier(5)[2] file with the necessary de-
     livery  instructions. In fact, aliases for programs or mailboxes is not di-
     rectly supported by the Courier mail server's aliasing mechanisms. It's im-
     plemented by having the makealiases script automatically create a	.courier
     file, and point the alias address to it.

     See dot-courier(5)[2] for more information.

	 Note

	 Unlike  sendmail,  the  Courier  mail server delivers as user "courier"
	 (group courier) when delivering to programs or mailboxes.

UUCP VIRTUAL DOMAINS
     The following notation allows mail addressed to a certain domain to be for-
     warded via uucp:

	 @domain: uucp!bang!path!

     The trailing !  tells the Courier mail server not	to  append  a  dash,  so
     user@domain    gets    rewritten	 as    uucp!bang!path!user,    and   not
     uucp!bang!path-user, which is probably not what you want.

DELIVERY STATUS NOTIFICATIONS
     An alias with only one address does not affect delivery status notification
     attributes of an E-mail message.

     An alias with multiple addresses is treated like a private mailing list, as
     defined by RFC 1894[3]. If the message requests a successful delivery noti-
     fication, the Courier mail server generates a delivery status  notification
     for  the successful delivery to the aliased address, and each alias recipi-
     ent address will have DSNs set to NEVER.

BUGS
     This has nothing to do  with  the	Courier  mail  server's  support  for  a
     Qmail-style alias account.

     owner-foo feature of sendmail's aliasing is not supported.

     the  Courier  mail  server  normally tries to eliminate duplicate addresses
     listed as recipients for the same message. Some mail servers are not  capa-
     ble  of  delivering  messages with multiple recipients, and will transmit a
     separate copy of the same message addressed to each recipient. The  Courier
     mail  server can't do anything in this case. Each copy of the same original
     text is considered an individual, separate, message.

     Duplicate elimination can fail in certain rare circumstances, involving ex-
     otic features of RFC 2822[1] concerning case sensitivity.

     "@example.com: jack, jill" is allowed, but strongly discouraged  under  the
     penalty of law.

     Because  multiple-recipient aliases are treated like private mailing lists,
     failure DSNs are turned off, and a bad recipient address is hardly  noticed
     by anyone.

     The  makealiases  command may execute while the Courier mail server is run-
     ning, and any changes take effect immediately. However, only  one	instance
     of makealiases is permitted to run at the same time.

SEE ALSO
     esmtpd(8)[4].

AUTHOR
     Sam Varshavchik
	 Author

NOTES
      1. RFC 2822
	 http://www.rfc-editor.org/rfc/rfc822.txt

      2. dot-courier(5)
	 http://www.courier-mta.org/dot-courier.html

      3. RFC 1894
	 http://www.rfc-editor.org/rfc/rfc1894.txt

      4. esmtpd(8)
	 http://www.courier-mta.org/esmtpd.html

Courier Mail Server		   01/22/2022			  MAKEALIASES(8)

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

home | help