qmail-remote(8) System Manager's Manual qmail-remote(8)
qmail-remote - send mail via SMTP
qmail-remote host sender recip [ recip ... ]
qmail-remote reads a mail message from its input and sends the message to one or more recipients at a remote host.
The remote host is qmail-remote's first argument, host. qmail-remote sends the message to host, or to a mail exchanger for host listed in
the Domain Name System, via the Simple Mail Transfer Protocol (SMTP). host can be either a fully-qualified domain name:
or an IP address enclosed in brackets:
The envelope recipient addresses are listed as recip arguments to qmail-remote. The envelope sender address is listed as sender.
Note that qmail-remote does not take options and does not follow the getopt standard.
End-of-file in SMTP is encoded as dot CR LF. A dot at the beginning of a line is encoded as dot dot. It is impossible in SMTP to send a
message that does not end with a newline. qmail-remote converts the UNIX newline convention into the SMTP newline convention by inserting
CR before each LF.
It is a violation of the SMTP protocol to send a message that contains long lines or non-ASCII characters. However, qmail-remote will hap-
pily send such messages. It is the user's responsibility to avoid generating illegal messages.
qmail-remote prints some number of recipient reports, followed by a message report. Each report is terminated by a 0 byte. Each report
begins with a single letter:
r Recipient report: acceptance.
h Recipient report: permanent rejection.
s Recipient report: temporary rejection.
K Message report: success. host has taken responsibility for delivering the message to each acceptable recipient.
Z Message report: temporary failure.
D Message report: permanent failure.
After this letter comes a human-readable description of what happened.
The recipient reports will always be printed in the same order as qmail-remote's recip arguments. Note that in failure cases there may be
fewer recipient reports than recip arguments.
qmail-remote always exits zero.
Current host name, for use solely in saying hello to the remote SMTP server. Default: me, if that is supplied; otherwise qmail-remote
refuses to run.
Artificial SMTP routes. Each route has the form domain:relay, without any extra spaces. If domain matches host, qmail-remote will
connect to relay, as if host had relay as its only MX. (It will also avoid doing any CNAME lookups on recip.) host may include a
colon and a port number to use instead of the normal SMTP port, 25:
relay may be empty; this tells qmail-remote to look up MX records as usual. smtproutes may include wildcards:
Here any address ending with .af.mil (but not af.mil itself) is routed by its MX records; any other address is artificially routed to
The qmail system does not protect you if you create an artificial mail loop between machines. However, you are always safe using smt-
proutes if you do not accept mail from the network.
Number of seconds qmail-remote will wait for the remote SMTP server to accept a connection. Default: 60. The kernel normally imposes
a 75-second upper limit.
Number of seconds qmail-remote will wait for each response from the remote SMTP server. Default: 1200.
addresses(5), envelopes(5), qmail-control(5), qmail-send(8), qmail-smtpd(8), qmail-tcpok(8), qmail-tcpto(8)