XMS Mail Server Documentation


Table of Contents

I. Installation and Configuration
1. Installing XMS Mail Server
Installing XMS Messaging Server on Windows
Optimized TCP/IP Registry Settings
Installing XMS Mail Server on UNIX
2. Configuring XMS Mail Server
The config.xml file
Documentation for config.xml
The log4j.xml file
Setting the log level
Log4j appenders
The xms-wrapper.conf file
Memory Settings
Java Virtual Machine
3. Management and Monitoring
Enabling Web Based Monitoring
II. XMS Mail Server Examples
4. XMS Mail Server Examples
Template Job Service Examples
Example Database Structure
Example Template
Template Job Configuration
Template Engines
Setting up DomainKeys on XMS
Signing Email with DomainKeys on XMS Email Server
Setting up XMS Mail Server as an Incoming Gateway
Ensuring that your mail server is not setup as an Open Relay
Rejecting Recipients
Redirecting mail to a local delivery SMTP server
Setting Up the SpamAssassin anti-spam filter on XMS
Installing Spam Assassin
Configuring the SpamAssassin Filter in XMS
Load Balancing SpamAssassin
What does the XMS Spam Assassin Filter Do?
Virus Scanning Email with Clam AntiVirus
Installing ClamAV
Configuring the XMS ClamAV filter
Load Balancing ClamAV AntiVirus Filter
What does the ClamAV Virus Scanning Filter do?
Configuring a DataSource
Finding a JDBC Driver for your Database Server
JDBC Driver Class Names
JDBC URL's
Installing the JDBC Driver
Adding a DataSource to XMS in config.xml
Working with the StringList Service
Creating a list in the config.xml file
Creating a list in a separate file
Using a Database as a List
Handling Bounce Emails on XMS
Configuring the Bounce Filters, and Handlers
III. Configuration Reference
I. actions
Database Query Action - Action that executes a database query
Log Action - Action that outputs to a log file
Null Action - Action that does absolutely nothing
Test Action - Test action that dumps the context to the console
II. authenticators
Configuration File Authenticator - An authenticator that allows you to specify users in the config.xml file
Unix Password Authenticator - Unix Password File Authenticator
III. engines
Freemarker Engine - Provides an interface to the Freemarker template engine
Token Engine - Template engine that replaces delimited tokens
IV. filters
Attribute Map Filter - Filter for mapping headers into attributes
Blacklist Filter - Blocks IP addresses listed in blacklists
Clam AV Filter - Scans emails for viruses using clamd
DKIM Signature Filter - Signs emails using DKIM signature algorithm
DKIM Verification Filter - Verifies the signatures of a email signed with DomainKeys, currently in development.
Domain Keys Signature Filter - Signs emails using Yahoo DomainKeys spec, and adds a DomainKeys-Signature header to emails
Domain Keys Verification Filter - Domain Keys Verification Filter
Forwarding Filter - Forwards emails based on entries in a StringMap
From List Blocker - Blocks an email if its from address is found in the given list
From List Filter - Applies an action to an email based on whether the source address is present in a list
Habeas Filter - Filter for adding Habeas accredidation headers
Header Filter - Example filter that adds a Yo header
List Relay Filter - Allows email to come through for a specified list of local domains, or by connection ip. Supports StringList types for the list of domains, accept and reject addresses
Local Delivery Filter - Changes the message target for recipient domains found in the localdomains attribute
Multiplexer Map Filter - Maps domains to a service target
Recipient List Filter - Applies an action to an email based on if a recipient is found in a list or not
Reg Ex Filter - Regular Expression filter that matches expressions on a line, and then applies an action to them.
Seed Filter - Seed Filter
Simple Connection Filter - Blocks or allows connections based on the connecting IP address
Simple Forwarder - Forwards mail for one address to another
Simple Recipient Reject Filter - Rejects mail to a given recipient
Simple Relay Filter - Allows email to come through for a specified list of local domains, or by connection ip
Spam Assassin Filter - Sends email to a spamd server for checking
Upper Case Filter - Example stream filter converts message to upper case
Verp Bounce Filter - Provides VERP services and bounce scanning for incoming and outgoing mail
V. keystores
Java Key Store - Java Key Store
PKC S12 Key Store - PKC S12 Key Store
VI. lists
Config File String List - Allows you to define read-only StringList data from within the configuration (config.xml) file.
DB String List - DB String List
File String List - File String List
VII. maps
DB String Map - DB String Map
Property File String Map - A String Map that stores its values in a property file
VIII. policys
Default Delivery Policy - Exponentially increases deferral time within a minimum and maximum window
IX. providers
DB Provider - Provides SQL query results from a database
Debug Provider - Outputs complete set of variables passed to it to the log
File Provider - Assigns the contents of files to variables
Loop Provider - A provider that loops over a sublist, passing each entry to a contained provider as a variable and stores the results into second sublist
Merge Provider - Merges the results of it's contained Providers
Push Provider - Provides data pushed via HTTP
Simple Provider - Simple Provider
Status Provider - Provides the last N values for specified variables in management service
Template Provider - Provider that processes templates and assigns them to variables
XML Provider - Provides XML documents from a specified URL
X. services
Active Message Generator Service - Active Message Generator Service
Configuration Genius - Provides an interface for automated initial configuration
Configuration Service - Hosts the online configuration documentation
Console Target Service - Console Target Service
IQ Spool Service - Stores messages to disk
Imprinter - Imprinter
Null Target Service - Service that discards all messages sent to it
SMTP Client Service - Delivers messages using SMTP to remote servers
SMTP Service - SMTP Server Service
SQL Delivery Service - Message transport that delivers to an SQL database.
XMS Authentication Service - Provides authenticators that authenticate usernames and passwords
XMS Connection Authority - Provides controls and limits on how the server connects to other servers
XMS DSN Generator Service - Generates delivery status notifications
XMS Data Source Service - XMS Data Source Service
XMS Debug Service - Runs a debug server on port 8023 that you can telnet to
XMS Domain Monitoring Service - Enables extended monitoring capabilities at a per-domain resolution
XMS Key Store Service - Provides access to key stores which hold public and private keys used for encryption
XMS Management Service - Provides web based management of server resources
XMS Monitoring Service - Provides resource monitoring services
XMS String List Service - XMS String List Service
XMS String Map Service - XMS String Map Service
XMS Template Job Service - Generates emails from data provided by several sources
XMS Thread Pool Service - XMS Thread Pool Service
XMS Update Service - Provides automatic update checking
XMSDNS Service - Provides DNS resolution services
XMSSOAP Service - Provides access to service APIs via SOAP