Global Server Configuration

There are a number of global configuration blocks that do not fall into any one component. They have effects that are global in scope across the server. Some of these blocks are crucial, while others can be ignored by any but the most sophisticated server administrators.

The James Block

This configuration block is defined by the James tag. All administrators need to adjust this configuration block upon installation. It no attributes, but several children, all of which are required.

  • postmaster - the body of this element is the address that the server will consider its postmaster address. This address will be listed as the sender address of all error messages that originate from James. Also, all messages addressed to postmaster@<servername>, where <servername> is one of the domain names whose mail is being handled by James, will be redirected to this email address.
  • usernames - this element has no body, but instead has three required boolean attributes. These are ignoreCase, enabledAliases, and enableForwarding. The first of these determines whether email user names will be treated as case-insensitive or not. The second attribute configures whether local user aliasing will be enabled. Finally, the value of the third attribute determines whether forwarding to potentially remote users will be enabled.
  • servernames - this element determines exactly which mail domains and IP addresses the server will treat as local. It has two boolean attributes - autodetect and autodetectIP. The first attribute, if true, causes the server to attempt to determine its own host name and add that to the list of local mail domains. The second attribute causes the server to attempt to determine its own IP address and add it to the list of local mail domains. In addition to these attributes, this tag has zero or more servername children.
    • servername - a single host name or IP address that should be added to the list of mail domains that the server considers local.
  • inboxRepository - This is a simple container tag which contains a single child element.
    • repository - this defines the mail repository that will be used to store mail delivered locally. This element has no body. The required attribute type is always set to "MAIL". The required attribute repositoryURL addresses the repository as described in the repository configuration section.

The Connectionmanager Block

This block controls general connection management. There are two elements.
  • idle-timeout - the number of milliseconds that it will take for idle client connections managed by this connection manager to be marked at timed out. If no value is specified, the value defaults to 5 minutes, 300000 milliseconds. A value of 0 means that client sockets will not timeout.
  • max-connections - The max-connections parameter specifies the default maximum number of client connections that this connection manager will allow per managed server socket. This value can be overridden by each individual service. If no value is specified, the value defaults to 30. A value of 0 means that there is no limit imposed by the connection manager, although resource limitations imposed by other components (i.e. max # of threads) may serve to limit the number of open connections.

The Objectstorage Block

This block controls the low level file repository to file mapping. There is no need to modify this.

The Socketmanager Block

This block controls the socket types available inside James. Unless you are intending to enable SSL, it shouldn't be necessary for you to adjust this block. For modifications to this block that are required to enable TLS, see the using TLS section.

The Threadmanager Block

This block controls the thread pools available inside James. Only expert administators should modify this configuration.