SYNOPSIS
qmail-sendDESCRIPTION
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-foois in virtualdomains, and a message arrives for [email protected], qmail-send will rewrite the recipient address as [email protected] and deliver the message locally.
virtualdomains may contain wildcards:
.fax:uucp-fax
:alias-catchall
.nowhere.mil:joe-foo-hostvirtualdomains 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.