NAME¶
qmail-remote - send mail via SMTP
SYNOPSIS¶
qmail-remote host sender recip [
recip ... ]
DESCRIPTION¶
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:
silverton.berkeley.edu
or an IP address enclosed in brackets:
[128.32.183.163]
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.
TRANSPARENCY¶
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 happily send
such messages. It is the user's responsibility to avoid generating illegal
messages.
RESULTS¶
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.
CONTROL FILES¶
- helohost
- 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.
- smtproutes
- 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:
inside.af.mil:firewall.af.mil:26
relay may be empty; this tells qmail-remote to look up MX
records as usual. smtproutes may include wildcards:
.af.mil:
:heaven.af.mil
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
heaven.af.mil.
The qmail system does not protect you if you create an artificial
mail loop between machines. However, you are always safe using
smtproutes if you do not accept mail from the network.
- timeoutconnect
- 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.
- timeoutremote
- Number of seconds qmail-remote will wait for each
response from the remote SMTP server. Default: 1200.
SEE ALSO¶
addresses(5),
envelopes(5),
qmail-control(5),
qmail-send(8),
qmail-smtpd(8),
qmail-tcpok(8),
qmail-tcpto(8)