NAME¶
qmail-send - deliver mail messages from the queue
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 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.
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 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 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-control(5),
qmail-log(5),
qmail-queue(8),
qmail-clean(8),
qmail-lspawn(8),
qmail-rspawn(8)