Object Overview
The SMTP protocol listener object allows
AlchemyPoint Server to operate as an SMTP server, receiving e-mail messages from client applications such as Thunderbird or MS Outlook, or e-mails forwarded directly from other SMTP servers on the Internet.
The SMTP listener is capable of operating in regular or secure (SSL / TLS) mode, and supports a variety of concurrency limiting and timeout options.
Bindings can be embedded within the SMTP listener to allow for programmatic manipulation of e-mails destined for specific addresses or domains.
Example Object Definitions
... directly within the top-level
ServerConfiguration object:
Minimal Configuration:
<SMTPListener name="SmtpListener1"
portNum="25">
... child configuration elements ...
</SMTPListener>
Overview:
Basic SMTP server listening on port 25, without binding to a specific listener IP address. This SMTP server is not configured to utilize authentication, SSL, or any other advanced options.
Complex Configuration (all possible attributes shown):
<SMTPListener name="SmtpListener1" tags="listener smtp"
description="example smtp protocol server"
hostName="mail.example.com"
sessionMaxMessages="4"
listenIP="192.168.0.1"
portNum="25"
maxConcurrency="50"
sessionTimeout="60">
... child configuration elements ...
</SMTPListener>
Overview:
SMTP server listening on port "25" on the IP address "192.168.0.1". This server is configured to allow up to 50 concurrent connected clients, and times out SMTP sessions after 60 seconds. The SMTP server uses the hostname "mail.example.com" when responding to EHLO/HELO requests.
Supported Attributes
General Attributes:
- name - (usage: required): Public name of the configuration object. This name must be globally-unique across the entire AlchemyPoint ServerConfiguration definition.
- description - (usage: optional): Textual description of the configuration object.
- tags - (usage: optional): Space-delimited list of one or more tags used to describe the configuration object.
Object Attributes:
- portNum - (usage: required): TCP port (1-65535) bound by this protocol listener.
- listenIP - (usage: optional): IP address bound by this protocol listener.
- hostName - (usage: optional): DNS name (host.domain.tld) that should be utilized by this protocol listener when displaying server banners.
- maxConcurrency - (usage: optional): Maximum number of concurrent client connections that should be supported by this protocol listener.
- sessionMaxMessages - (usage: optional): Maximum number of e-mail messages that can be sent within a single TCP connection to this protocol listener.
- sessionTimeout - (usage: optional): Maximum number of seconds that a client may be connected to this protocol listener.
Supported Child Configuration Elements
SSL:
- SSLServerConfig - (usage: optional): SSL server configuration object, to be specified if the SMTP listener is operating in secure (SSL / TLS) mode.
Mail Bindings:
- Bindings - (usage: optional): Bindings object, containing one or more mail Binding? configuration elements. These bindings define the actions that should be taken on e-mail messages received by this SMTPListener.
Issues
Unaddressed documentation issues: authentication, banners