debian/rules: Use `git' potty wrapper.
[qmail] / qmail-send.9
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)