qmail-remote(8)

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. qmail-rspawn will invoke the contents of $QMAILREMOTE instead of qmail-remote, if that environment variable is set.

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

clientcert.pem
    SSL certificate that is used to authenticate with the remote server during a TLS session.

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.

notlshosts/<FQDN>
    qmail-remote will not try TLS on servers for which this file exists (<FQDN> is the fully-qualified domain name of the server). (tlshosts/<FQDN>.pem takes precedence over this file however).

outgoingip
    IP address to be used on outgoing connections. Default: system-defined. The value 0.0.0.0 is equivalent to the system default.

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. port value of 465 (deprecated smtps port) causes TLS session to be started. 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.

tlsclientciphers
    A set of OpenSSL client cipher strings. Multiple ciphers contained in a string should be separated by a colon.

tlshosts/<FQDN>.pem
    qmail-remote requires TLS authentication from servers for which this file exists (<FQDN> is the fully-qualified domain name of the server). One of the dNSName or the CommonName attributes have to match. The file contains the trusted CA certificates. WARNING: this option may cause mail to be delayed, bounced, doublebounced, or lost.

tlshosts/exhaustivelist
    if this file exists no TLS will be tried on hosts other than those for which a file tlshosts/<FQDN>.pem exists.

SEE ALSO
addresses(5), envelopes(5), qmail-control(5), qmail-send(8), qmail-smtpd(8), qmail-tcpok(8), qmail-tcpto(8)