Man Linux: Main Page and Category List


       makehosteddomains - Build a database of hosted domains




       makehosteddomains rebuilds the contents of the
       /etc/courier/hosteddomains.dat database from the contents of
       /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 /etc/courier/hosteddomains to take effect.

       The function of /etc/courier/hosteddomains is very similar to the one
       of /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 /etc/courier/locals are
       removed from addresses before their mailbox is looked up. For example,
       if the domain "" is listed in /etc/courier/locals, then the
       address <> is delivered to a local mailbox named
       "user". If this domain is listed, instead, in
       /etc/courier/hosteddomains, then the address <> is
       delivered to a local mailbox named "". Usually you
       would use /etc/courier/locals to specify domains that correspond to
       your local system accounts, that are looked up in your system´s
       password database. The /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 /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:


       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





        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