receives mail messages via the Simple Mail Transfer Protocol (SMTP)
to deposit them into the outgoing queue.
must be supplied several environment variables;
is responsible for counting hops.
It rejects any message with 100 or more
supports ESMTP, including the 8BITMIME and PIPELINING options.
converts the SMTP newline convention into the UNIX newline convention
by converting CR LF into LF.
It returns a temporary error and drops the connection on bare LFs;
accepts messages that contain long lines or non-ASCII characters,
even though such messages violate the SMTP protocol.
Unacceptable envelope sender addresses.
will reject every recipient address for a message
if the envelope sender address is listed in
A line in
may be of the form
meaning every address at
Maximum number of bytes allowed in a message,
or 0 for no limit.
If a message exceeds this limit,
returns a permanent error code to the client;
in contrast, if
the disk is full or
hits a resource limit,
returns a temporary error code.
counts bytes as stored on disk, not as transmitted through the network.
It does not count the
Received line, the
Received line, or the envelope.
If the environment variable
is set, it overrides
Replacement host name for local IP addresses.
if that is supplied.
is responsible for recognizing dotted-decimal addresses for the
When it sees a recipient address of the form
is a local IP address,
This is done before
Extra allowed RCPT domains.
is effectively appended to
You must run
Rule of thumb for large sites:
Put your 50 most commonly used domains into
and the rest into
Allowed RCPT domains.
any envelope recipient address with a domain not listed in
If the environment variable
and will append the value of
to each incoming recipient address.
may include wildcards:
Envelope recipient addresses without @ signs are
always allowed through.
SMTP greeting message.
if that is supplied;
will refuse to run.
The first word of
should be the current host's name.
Number of seconds
will wait for each new buffer of data from the remote SMTP client.
Recipient verification is enabled with the
environment variable. This can be used to specify per-recipient
rejection of invalid recipient addresses (immediate verification
causing a permanent 550 error response to the RCPT command),
or deferred rejection at DATA time (554 response) of the whole
session if any recipient addresses don't exist.
To verify an address,
uses a separate
UDP server. By default this will be on the loopback address 127.0.0.1,
port 11113. Enable verification like this,
(for immediate, deferred verification respectively). A different IP
address and/or port can be specified for
as in these examples,
Recipient verification may be explicitly disabled by setting
to an empty string,
Addresses with domains appearing in
but not in
will be considered valid, reflecting qmail's standard behaviour.
Note that if the environment variable
is set, no checking is carried out.
needs to be running to respond to recipient
verification queries. If no
response is received a temporary 451 error response is
given to the remote system and the session terminated.