= Distributed James Server &mdash; domainlist.xml
:navtitle: domainlist.xml

Consult this link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/domainlist.xml[example]
to get some examples and hints.

This configuration block is defined by the *domainlist* tag.

.domainlist.xml content
|===
| Property name | explanation

| domainnames
| Domainnames identifies the DNS namespace served by this instance of James.
These domainnames are used for both matcher/mailet processing and SMTP auth
to determine when a mail is intended for local delivery - Only applicable for XMLDomainList. The entries mentionned here will be created upon start.

|autodetect
|true or false - If autodetect is true, James wil attempt to discover its own host name AND
use any explicitly specified servernames.
If autodetect is false, James will use only the specified domainnames. Defaults to false.

|autodetectIP
|true or false - If autodetectIP is not false, James will also allow add the IP address for each servername.
The automatic IP detection is to support RFC 2821, Sec 4.1.3, address literals. Defaults to false.

|defaultDomain
|Set the default domain which will be used if an email is send to a recipient without a domain part.
If no defaultdomain is set the first domain of the DomainList gets used. If the default is not yet contained by the Domain List, the domain will be created upon start.

|read.cache.enable
|Experimental. Boolean, defaults to false.
Whether or not to cache domainlist.contains calls. Enable a faster execution however writes will take time
to propagate.

|read.cache.expiracy
|Experimental. String (duration), defaults to 10 seconds (10s). Supported units are ms, s, m, h, d, w, month, y.
Expiracy of the cache. Longer means less reads are performed to the backend but writes will take longer to propagate.
Low values (a few seconds) are advised.


|===

To override autodetected domainnames simply add explicit domainname elements.
In most cases this will be necessary. By default, the domainname 'localhost' is specified. This can be removed, if required.
