Table of Contents
qmail-send - deliver mail messages from the queue
qmail-send
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 message
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 waiting (possibly more than a minute) for current delivery
attempts to finish.
If qmail-send receives an ALRM signal, it will reschedule
every message in the queue for immediate delivery.
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 and virtualdomains.
- bouncefrom
- Bounce username. Default: MAILER-DAEMON.
- bouncehost
- 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.
- 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. concurrencyremote is limited at compile time to 120.
- doublebouncehost
- Double-bounce host. Default: me, if that is supplied;
otherwise the literal name doublebouncehost, which is probably not what
you want.
- doublebounceto
- 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.)
- 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 recipientmap.
- 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.
- recipientmap
- List of redirections, one per line. Each redirection has the form recipient:rewritten,
without any extra spaces. When qmail-send sees the address recipient, it
replaces it with rewritten. Both recipient and rewritten must include domain
names. qmail-send handles recipientmap before locals.
- virtualdomains
- List
of virtual domains, one per line. Each virtual domain has the form domain:prepend,
without any extra spaces. When qmail-send sees a recipient address at domain,
say user@domain, it converts it to prepend-user@domain and treats it as
local. 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.
nice(1)
, addresses(5)
, envelopes(5)
,
qmail-control(5)
, qmail-log(5)
, qmail-queue(8)
, qmail-clean(8)
, qmail-lspawn(8)
,
qmail-rspawn(8)
Table of Contents