|
0
|
1 |
.TH qmail-send 8
|
|
|
2 |
.SH NAME
|
|
|
3 |
qmail-send \- deliver mail messages from the queue
|
|
|
4 |
.SH SYNOPSIS
|
|
|
5 |
.B qmail-send
|
|
|
6 |
.SH DESCRIPTION
|
|
|
7 |
.B qmail-send
|
|
|
8 |
handles messages placed into the outgoing queue by
|
|
|
9 |
.BR qmail-queue .
|
|
|
10 |
It uses
|
|
|
11 |
.B qmail-lspawn
|
|
|
12 |
to deliver messages to local recipients and
|
|
|
13 |
.B qmail-rspawn
|
|
|
14 |
to deliver messages to remote recipients.
|
|
|
15 |
If a message is temporarily undeliverable to one or more addresses,
|
|
|
16 |
.B qmail-send
|
|
|
17 |
leaves it in the queue and tries the addresses again later.
|
|
|
18 |
|
|
|
19 |
.B qmail-send
|
|
|
20 |
prints a readable record of its activities to descriptor 0.
|
|
|
21 |
It writes commands to
|
|
|
22 |
.BR qmail-lspawn ,
|
|
|
23 |
.BR qmail-rspawn ,
|
|
|
24 |
and
|
|
|
25 |
.B qmail-clean
|
|
|
26 |
on descriptors 1, 3, and 5,
|
|
|
27 |
and reads responses from descriptors 2, 4, and 6.
|
|
|
28 |
.B qmail-send
|
|
|
29 |
is responsible for avoiding deadlock.
|
|
|
30 |
|
|
|
31 |
If
|
|
|
32 |
.B qmail-send
|
|
|
33 |
receives a TERM signal,
|
|
|
34 |
it will exit cleanly, after waiting
|
|
|
35 |
(possibly more than a minute)
|
|
|
36 |
for current delivery attempts to finish.
|
|
|
37 |
|
|
|
38 |
If
|
|
|
39 |
.B qmail-send
|
|
|
40 |
receives an ALRM signal,
|
|
|
41 |
it will reschedule every message in the queue for immediate delivery.
|
|
|
42 |
.SH "CONTROL FILES"
|
|
|
43 |
.B WARNING:
|
|
|
44 |
.B qmail-send
|
|
|
45 |
reads its control files only when it starts.
|
|
|
46 |
If you change the control files,
|
|
|
47 |
you must stop and restart
|
|
|
48 |
.BR qmail-send .
|
|
|
49 |
Exception:
|
|
|
50 |
If
|
|
|
51 |
.B qmail-send
|
|
|
52 |
receives a HUP signal,
|
|
|
53 |
it will reread
|
|
|
54 |
.I locals
|
|
|
55 |
and
|
|
|
56 |
.IR virtualdomains .
|
|
|
57 |
.TP 5
|
|
|
58 |
.I bouncefrom
|
|
|
59 |
Bounce username.
|
|
|
60 |
Default:
|
|
|
61 |
.BR MAILER-DAEMON .
|
|
|
62 |
.TP 5
|
|
|
63 |
.I bouncehost
|
|
|
64 |
Bounce host.
|
|
|
65 |
Default:
|
|
|
66 |
.IR me ,
|
|
|
67 |
if that is supplied;
|
|
|
68 |
otherwise the literal name
|
|
|
69 |
.BR bouncehost ,
|
|
|
70 |
which is probably not what you want.
|
|
|
71 |
If a message is permanently undeliverable,
|
|
|
72 |
.B qmail-send
|
|
|
73 |
sends a
|
|
|
74 |
.B single-bounce
|
|
|
75 |
notice back to the message's envelope sender.
|
|
|
76 |
The notice is
|
|
|
77 |
.B From: \fIbouncefrom\fB@\fIbouncehost\fR,
|
|
|
78 |
although its envelope sender is empty.
|
|
|
79 |
.TP 5
|
|
|
80 |
.I concurrencylocal
|
|
|
81 |
Maximum number of simultaneous local delivery attempts.
|
|
|
82 |
Default: 10.
|
|
|
83 |
If 0, local deliveries will be put on hold.
|
|
|
84 |
.I concurrencylocal
|
|
|
85 |
is limited at compile time to
|
|
|
86 |
SPAWN.
|
|
|
87 |
.TP 5
|
|
|
88 |
.I concurrencyremote
|
|
|
89 |
Maximum number of simultaneous remote delivery attempts.
|
|
|
90 |
Default: 20.
|
|
|
91 |
If 0, remote deliveries will be put on hold.
|
|
|
92 |
.I concurrencyremote
|
|
|
93 |
is limited at compile time to
|
|
|
94 |
SPAWN.
|
|
|
95 |
.TP 5
|
|
|
96 |
.I doublebouncehost
|
|
|
97 |
Double-bounce host.
|
|
|
98 |
Default:
|
|
|
99 |
.IR me ,
|
|
|
100 |
if that is supplied;
|
|
|
101 |
otherwise the literal name
|
|
|
102 |
.BR doublebouncehost ,
|
|
|
103 |
which is probably not what you want.
|
|
|
104 |
.TP 5
|
|
|
105 |
.I doublebounceto
|
|
|
106 |
User to receive double-bounces.
|
|
|
107 |
Default:
|
|
|
108 |
.BR postmaster .
|
|
|
109 |
If a single-bounce notice is permanently undeliverable,
|
|
|
110 |
.B qmail-send
|
|
|
111 |
sends a
|
|
|
112 |
.B double-bounce
|
|
|
113 |
notice to
|
|
|
114 |
.IR doublebounceto\fB@\fIdoublebouncehost .
|
|
|
115 |
(If that bounces,
|
|
|
116 |
.B qmail-send
|
|
|
117 |
gives up.)
|
|
|
118 |
.TP 5
|
|
|
119 |
.I envnoathost
|
|
|
120 |
Presumed domain name for addresses without @ signs.
|
|
|
121 |
Default:
|
|
|
122 |
.IR me ,
|
|
|
123 |
if that is supplied;
|
|
|
124 |
otherwise the literal name
|
|
|
125 |
.BR envnoathost ,
|
|
|
126 |
which is probably not what you want.
|
|
|
127 |
If
|
|
|
128 |
.B qmail-send
|
|
|
129 |
sees an envelope recipient address without an @ sign,
|
|
|
130 |
it appends
|
|
|
131 |
.B @\fIenvnoathost\fR.
|
|
|
132 |
.TP 5
|
|
|
133 |
.I locals
|
|
|
134 |
List of domain names that the current host
|
|
|
135 |
receives mail for,
|
|
|
136 |
one per line.
|
|
|
137 |
Default:
|
|
|
138 |
.IR me ,
|
|
|
139 |
if that is supplied;
|
|
|
140 |
otherwise
|
|
|
141 |
.B qmail-send
|
|
|
142 |
refuses to run.
|
|
|
143 |
An address
|
|
|
144 |
.I user@domain
|
|
|
145 |
is considered local if
|
|
|
146 |
.I domain
|
|
|
147 |
is listed in
|
|
|
148 |
.IR locals .
|
|
|
149 |
.TP 5
|
|
|
150 |
.I percenthack
|
|
|
151 |
List of domain names where the percent hack is applied.
|
|
|
152 |
If
|
|
|
153 |
.I domain
|
|
|
154 |
is listed in
|
|
|
155 |
.IR percenthack ,
|
|
|
156 |
any address of the form
|
|
|
157 |
.I user%fqdn@domain
|
|
|
158 |
is rewritten as
|
|
|
159 |
.IR user@fqdn .
|
|
|
160 |
.I user
|
|
|
161 |
may contain %,
|
|
|
162 |
so the percent hack may be applied repeatedly.
|
|
|
163 |
.B qmail-send
|
|
|
164 |
handles
|
|
|
165 |
.I percenthack
|
|
|
166 |
before
|
|
|
167 |
.IR locals .
|
|
|
168 |
.TP 5
|
|
|
169 |
.I queuelifetime
|
|
|
170 |
Number of seconds
|
|
|
171 |
a message can stay in the queue.
|
|
|
172 |
Default: 604800 (one week).
|
|
|
173 |
After this time expires,
|
|
|
174 |
.B qmail-send
|
|
|
175 |
will try the message once more,
|
|
|
176 |
but it will treat any temporary delivery failures as
|
|
|
177 |
permanent failures.
|
|
|
178 |
.TP 5
|
|
|
179 |
.I virtualdomains
|
|
|
180 |
List of virtual users or domains, one per line.
|
|
|
181 |
A virtual user has the form
|
|
|
182 |
.IR user\fB@\fIdomain\fB:\fIprepend ,
|
|
|
183 |
without any extra spaces.
|
|
|
184 |
When
|
|
|
185 |
.B qmail-send
|
|
|
186 |
sees the recipient address
|
|
|
187 |
.IR user\fB@\fIdomain ,
|
|
|
188 |
it converts it to
|
|
|
189 |
.I prepend\fB-\fIuser\fB@\fIdomain
|
|
|
190 |
and treats it as local.
|
|
|
191 |
|
|
|
192 |
A virtual domain has the form
|
|
|
193 |
.IR domain\fB:\fIprepend .
|
|
|
194 |
It applies to any recipient address at
|
|
|
195 |
.IR domain .
|
|
|
196 |
For example, if
|
|
|
197 |
|
|
|
198 |
.EX
|
|
|
199 |
nowhere.mil:joeBREAKfoo
|
|
|
200 |
.EE
|
|
|
201 |
|
|
|
202 |
is in
|
|
|
203 |
.IR virtualdomains ,
|
|
|
204 |
and a message arrives for
|
|
|
205 |
.BR info@nowhere.mil ,
|
|
|
206 |
.B qmail-send
|
|
|
207 |
will rewrite the recipient address as
|
|
|
208 |
.B joeBREAKfoo-info@nowhere.mil
|
|
|
209 |
and deliver the message locally.
|
|
|
210 |
|
|
|
211 |
.I virtualdomains
|
|
|
212 |
may contain wildcards:
|
|
|
213 |
|
|
|
214 |
.EX
|
|
|
215 |
.fax:uucpBREAKfax
|
|
|
216 |
:aliasBREAKcatchall
|
|
|
217 |
.nowhere.mil:joeBREAKfoo-host
|
|
|
218 |
.EE
|
|
|
219 |
|
|
|
220 |
.I virtualdomains
|
|
|
221 |
may also contain exceptions:
|
|
|
222 |
an empty
|
|
|
223 |
.I prepend
|
|
|
224 |
means that
|
|
|
225 |
.I domain
|
|
|
226 |
is not a virtual domain.
|
|
|
227 |
|
|
|
228 |
.B qmail-send
|
|
|
229 |
handles
|
|
|
230 |
.I virtualdomains
|
|
|
231 |
after
|
|
|
232 |
.IR locals :
|
|
|
233 |
if a domain is listed in
|
|
|
234 |
.IR locals ,
|
|
|
235 |
.I virtualdomains
|
|
|
236 |
does not apply.
|
|
|
237 |
.SH "SEE ALSO"
|
|
|
238 |
nice(1),
|
|
|
239 |
addresses(5),
|
|
|
240 |
envelopes(5),
|
|
|
241 |
qmail-control(5),
|
|
|
242 |
qmail-log(5),
|
|
|
243 |
qmail-queue(8),
|
|
|
244 |
qmail-clean(8),
|
|
|
245 |
qmail-lspawn(8),
|
|
|
246 |
qmail-rspawn(8)
|