Provided by: courier-mta_0.68.2-1ubuntu7_amd64 bug

NAME

       makehosteddomains - Build a database of hosted domains

SYNOPSIS

       makehosteddomains

DESCRIPTION

       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 "example.com" is listed in
       /etc/courier/locals, then the address <user@example.com> is delivered to a local mailbox
       named "user". If this domain is listed, instead, in /etc/courier/hosteddomains, then the
       address <user@example.com> is delivered to a local mailbox named "user@example.com".
       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:

           domain.com
           example.org

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

           domain.com
           mail.domain.com<TAB>domain.com
           example.com<TAB>domain.com

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

   alias@hosteddomain
       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 "example.com", create the local account alias@example.com. 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 alias@example.com must be a real account, not a mail alias. If you want to
       forward alias@example.com to another address, put forwarding instructions in the
       .courier-default file. However, alias@example.com can be a clone of another account (with
       the same home directory, userid, and groupid).

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

       The Courier mail server will accept mail for <address@any.thing.domain.com> and attempt to
       deliver it to the local mailbox <address@any.thing.domain.com>, and if that fails then
       attempt to deliver the mail to the local mailbox <address@.thing.domain.com>, then finally
       <address@.domain.com>

           Note
           There is a period after the '@' character. If you want all mail for
           “any.thing.domain.com” to be delivered as though it were sent to “domain.com”, you
           should define an alias for the domain, for example:

               domain.com
               .domain.com<TAB>domain.com

SEE ALSO

       esmtpd(8)[2].

AUTHOR

       Sam Varshavchik
           Author

NOTES

        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