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

FreeBSD Manual Pages


home | help

       makehosteddomains - Build a database of hosted domains


       makehosteddomains rebuilds the contents of the
       /usr/local/etc/courier/hosteddomains.dat	database from the contents of
       /usr/local/etc/courier/hosteddomains. This can be either	a file or a
       directory. If it's a directory, the contents of all the files in	this
       directory are simply concatenated. The makehosteddomains	script must be
       run in order for	any changes to /usr/local/etc/courier/hosteddomains to
       take effect.

       The function of /usr/local/etc/courier/hosteddomains is very similar to
       the one of /usr/local/etc/courier/locals. Both configuration files
       specify a list of domains that are considered to	be local domains -
       domains whose mailboxes are stored locally.

       The difference is that domains listed in	/usr/local/etc/courier/locals
       are removed from	addresses before their mailbox is looked up. For
       example,	if the domain "" is listed in
       /usr/local/etc/courier/locals, then the address <> is
       delivered to a local mailbox named "user". If this domain is listed,
       instead,	in /usr/local/etc/courier/hosteddomains, then the address
       <> is delivered to a local mailbox named
       "". Usually you would use /usr/local/etc/courier/locals
       to specify domains that correspond to your local	system accounts, that
       are looked up in	your system's password database. The
       /usr/local/etc/courier/hosteddomains file is usually used when you have
       database-based virtual domains, that are	maintained via an LDAP or a
       MySQL server. The Courier mail server's LDAP and	MySQL authentication
       modules will use	the full E-mail	address	to query the LDAP or MySQL
       server for the location of the local mailbox that correspond to the
       E-mail address. The Courier mail	server's authuserdb authentication
       module can also use full	E-mail addresses.

   Contents of hosteddomains
       The file	/usr/local/etc/courier/hosteddomains simply contains a list of
       domains,	one per	line, for example:

       Each domain can optionally be followed by a single tab character, in
       order to	specify	an alias for a domain, for example:<TAB><TAB>

       First, we list the domain "" as a hosted domain. Then,	we
       also list the domain "", which is	an alias for The Courier mail server will	take any address of the	form
       <>, rewrite it as	<>, and
       attempt to deliver the mail to a	local mailbox for that name. The third
       entry does the same for ""; mail addressed to
       <> is	delivered to the local mailbox

       This is a special local mail delivery rule for hosteddomain-listed
       domains.	This rule allows the Courier mail server accept	mail to	any
       address@hosteddomain, where "hosteddomain" is a domain listed in	the
       hosteddomains file, but there is	no corresponding account for
       address@hosteddomain. To	provide	delivery instructions for any
       non-existing address in a hosteddomain-listed domain:

       1) Create the local address alias@hosteddomain. For example, if the
       hosteddomains file contains "", create the local account This should be a normal account, with	its own	home
       directory, userid and groupid.

       2) Create $HOME/.courier-default	file in	this account, containing the
       delivery	instructions. See the dot-courier(5)[1]	manual page for
       available delivery instructions.

       NOTE that must	be a real account, not a mail alias.
       If you want to forward	to another address, put
       forwarding instructions in the .courier-default file. However, can be	a clone	of another account (with the same home
       directory, userid, and groupid).

       Wildcard	DNS is supported for hosteddomains by placing a	single period
       character before	the domain name. For example, the hosted domain	entry
       "" will cause	the Courier mail server	to accept mail for

       The Courier mail	server will accept mail	for
       <> and attempt to deliver it	to the local
       mailbox <>, and if that fails then attempt
       to deliver the mail to the local	mailbox	<>,
       then finally <>

	   There is a period after the '@' character. If you want all mail for
	   "" to be	delivered as though it were sent to
	   "", you should define an alias for	the domain, for


       Sam Varshavchik

	1. dot-courier(5)
	   [set	$man.base.url.for.relative.links]/dot-courier.html

	2. esmtpd(8)
	   [set	$man.base.url.for.relative.links]/esmtpd.html

Courier	Mail Server		  02/10/2011		  MAKEHOSTEDDOMAINS(8)


Want to link to this manual page? Use this URL:

home | help