qmail-send - deliver mail messages from the queue
handles messages placed into the outgoing queue by
. It uses qmail-lspawn
to deliver messages to local
recipients and qmail-rspawn
to deliver messages to remote recipients.
If a message is temporarily undeliverable to one or more addresses,
leaves it in the queue and tries the addresses again later.
prints a readable record of its activities to descriptor 0. It
writes commands to qmail-lspawn
on descriptors 1, 3, and 5, and reads responses from
descriptors 2, 4, and 6. qmail-send
is responsible for avoiding
receives a TERM signal, it will exit cleanly, after waiting
(possibly more than a minute) for current delivery attempts to finish.
receives an ALRM signal, it will reschedule every message
in the queue for immediate delivery.
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
- Bounce username. Default: MAILER-DAEMON.
- Bounce host. Default: me, if that is supplied; otherwise the
literal 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.
- 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.
- Maximum number of simultaneous remote delivery attempts. Default: 20. If
0, remote deliveries will be put on hold. concurrencyremote is
limited at compile time to 120.
- Double-bounce host. Default: me, if that is supplied; otherwise the
literal name doublebouncehost, which is probably not what you
- User to receive double-bounces. Default: postmaster. If a
single-bounce notice is permanently undeliverable, qmail-send sends
a double-bounce notice to
doublebounceto@doublebouncehost. (If that
bounces, qmail-send gives up.)
- 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
- 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.
- 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.
- 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
- List of virtual users or domains, one per line. A virtual user has the
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,
is in virtualdomains, and a message arrives for
email@example.com, qmail-send will rewrite the recipient
address as firstname.lastname@example.org and deliver the message
virtualdomains may contain wildcards:
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
nice(1), addresses(5), envelopes(5), qmail-control(5), qmail-log(5),
qmail-queue(8), qmail-clean(8), qmail-lspawn(8), qmail-rspawn(8)