Protocol: smtp
The SMTP protocol module has the following features:
- Handles
RFC 2554 SMTP
authentication. Note that
the require-auth plugin
and/or the relayclient plugin
will need to be loaded to make use of this authentication.
- Automatically handles either bare NL or
RFC 821 /
RFC 2821 compliant
CR/NL end-of-line conventions.
- Will drop connections on inactivity or too many errors.
- All error responses are logged.
- Handles (ignores)
RFC 1869
extended parameters on the RCPT TO: and MAIL FROM:
commands.
- Configurable initial greeting.
- Supports
RFC 1870
SMTP Service Extension for Message Size Declaration.
Configuration
- $MAXNOTIMPL
- The maximum number of unimplemented commands (resulting in a
"500 Not implemented." response) allowed in a session
before dropping the connection. No default.
- $SESSION_TIMEOUT
- The number of seconds from the start of the session after which to
drop the connection. Defaults to 86400 seconds (24 hours).
- $SMTPGREETING
- The greeting text to send on startup. If not set, the greeting is
generated based on the domain name in ${$PROTO}LOCALHOST
set by the invoking
UCSPI server such as
tcpserver.
- $TIMEOUT
- The number of seconds of inactivity after which to drop
connections. Defaults to 1200 seconds (20 minutes).
- $TLS_CERTFILE
- The filename containing the TLS certificate and any intermediate
certificates used to sign it. The file contents must be in PEM
format. This setting is required for operation STARTTLS or
SMTPS mode.
- $TLS_COMPAT
- Disable certain (security) features in TLS in order to maintain
maximum compatibility with buggy clients.
- $TLS_DH_PARAMS
- The filename containing the Diffie-Hellman key exchange
parameters, as generated by openssl dhparam or certtool
--generate-dh-params. If not specified, default parameters are
used.
- $TLS_IMMEDIATE
- If set, this plugin will switch to TLS mode on startup (if
possible, see below). This is primarily useful for running mailfront
as a SMTP submission server on TCP port 465 (SMTPS).
- $TLS_KEYFILE
- The filename containing the private key for to the
certificate. The file contents must be in PEM format. If unset, it
defaults to the value of $TLS_CERTFILE.
- $TLS_PRIORITY
- The GnuTLS priority string, which specifies the TLS session's
handshake algorithms and options. See
the
manual page for more details on possible values. Defaults to
"NORMAL", which represents all the known to be secure
ciphersuites.