SYNOPSIS
qmail-send
DESCRIPTION
qmail-send handles messages placed into the outgoing queue by qmail-
queue. It uses qmail-lspawn to deliver messages to local recipients
and qmail-rspawn to deliver messages to remote recipients. If a mes-
sage is temporarily undeliverable to one or more addresses, qmail-send
leaves it in the queue and tries the addresses again later.
qmail-send prints a readable record of its activities to descriptor 0.
It writes commands to qmail-lspawn, qmail-rspawn, and qmail-clean on
descriptors 1, 3, and 5, and reads responses from descriptors 2, 4, and
6. qmail-send is responsible for avoiding deadlock.
If qmail-send receives a TERM signal, it will exit cleanly, after wait-
ing (possibly more than a minute) for current delivery attempts to fin-
ish.
If qmail-send receives an ALRM signal, it will reschedule every message
in the queue for immediate delivery.
CONTROL FILES
WARNING: qmail-send reads its control files only when it starts. If
you change the control files, you must stop and restart qmail-send.
Exception: If qmail-send receives a HUP signal, it will reread locals,
virtualdomains, as well as concurrencylocal and concurrencyremote.
bouncefrom
Bounce username. Default: MAILER-DAEMON.
bouncehost
Bounce host. Default: me, if that is supplied; otherwise the lit-
eral name bouncehost, which is probably not what you want. If a
message is permanently undeliverable, qmail-send sends a single-
bounce notice back to the message's envelope sender. The notice
is From: bouncefrom@bouncehost, although its envelope sender is
empty.
bouncemaxbytes
Maximum size (in bytes) of bounce messages. Bounce messages
exceeding this limit will be truncated. Default is 0; which means
no limit.
concurrencylocal
Maximum number of simultaneous local delivery attempts. Default:
10. If 0, local deliveries will be put on hold. concurrencylocal
is limited at compile time to 120.
concurrencyremote
Maximum number of simultaneous remote delivery attempts. Default:
20. If 0, remote deliveries will be put on hold. concurrencyre-
envnoathost
Presumed domain name for addresses without @ signs. Default: me,
if that is supplied; otherwise the literal name envnoathost, which
is probably not what you want. If qmail-send sees an envelope
recipient address without an @ sign, it appends @envnoathost.
locals
List of domain names that the current host receives mail for, one
per line. Default: me, if that is supplied; otherwise qmail-send
refuses to run. An address user@domain is considered local if
domain is listed in locals.
percenthack
List of domain names where the percent hack is applied. If domain
is listed in percenthack, any address of the form user%fqdn@domain
is rewritten as user@fqdn. user may contain %, so the percent
hack may be applied repeatedly. qmail-send handles percenthack
before locals.
queuelifetime
Number of seconds a message can stay in the queue. Default:
604800 (one week). After this time expires, qmail-send will try
the message once more, but it will treat any temporary delivery
failures as permanent failures.
virtualdomains
List of virtual users or domains, one per line. A virtual user
has the form user@domain:prepend, without any extra spaces. When
qmail-send sees the recipient address user@domain, it converts it
to prepend-user@domain and treats it as local.
A virtual domain has the form domain:prepend. It applies to any
recipient address at domain. For example, if
nowhere.mil:joe-foo
is in virtualdomains, and a message arrives for info@nowhere.mil,
qmail-send will rewrite the recipient address as joe-foo-
info@nowhere.mil and deliver the message locally.
virtualdomains may contain wildcards:
.fax:uucp-fax
:alias-catchall
.nowhere.mil:joe-foo-host
virtualdomains may also contain exceptions: an empty prepend means
that domain is not a virtual domain.
qmail-send handles virtualdomains after locals: if a domain is
listed in locals, virtualdomains does not apply.
SEE ALSO
nice(1), addresses(5), envelopes(5), qmail-contro(5), qmail-log(5),
qmail-queue(8), qmail-clean(8), qmail-lspawn(8), qmail-rspawn(8).
8 s/qmail:(qmail-send)
Man(1) output converted with
man2html