1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
|
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
DSN: bounce propagating DSN
DSN: defer propagating DSN
DSN: aaaa_2nd_time propagating DSN
DSN: aaaa propagating DSN
LOG: MAIN
<= CALLER@myhost.test.ex U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
Exim version x.yz ....
configuration file is TESTSUITE/test-config
trusted user
admin user
DSN: bounce propagating DSN
DSN: defer propagating DSN
DSN: aaaa_2nd_time propagating DSN
DSN: aaaa propagating DSN
locking TESTSUITE/spool/db/retry.lockfile
no retry data available
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: aaaa@myhost.test.ex
unique = aaaa@myhost.test.ex
aaaa@myhost.test.ex: queued for routing
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing aaaa@myhost.test.ex
--------> bounce router <--------
local_part=aaaa domain=myhost.test.ex
checking senders
bounce router skipped: senders mismatch
--------> defer router <--------
local_part=aaaa domain=myhost.test.ex
checking local_parts
defer router skipped: local_parts mismatch
--------> aaaa_2nd_time router <--------
local_part=aaaa domain=myhost.test.ex
checking local_parts
checking "condition" "${if first_delivery{no}{yes}}"...
aaaa_2nd_time router skipped: condition failure
--------> aaaa router <--------
local_part=aaaa domain=myhost.test.ex
checking local_parts
calling aaaa router
rda_interpret (string): # Exim filter
deliver defer_aaaa@$domain
save TESTSUITE/test-mail/file
pipe "/bin/sh -c exit"
mail subject autoreply
text "This is an autoreply"
expanded: # Exim filter
deliver defer_aaaa@myhost.test.ex
save TESTSUITE/test-mail/file
pipe "/bin/sh -c exit"
mail subject autoreply
text "This is an autoreply"
data is an Exim filter program
Filter: start of processing
Filter: end of processing
rda_interpret: subprocess yield=0 error=NULL
set transport t3
aaaa router generated >CALLER@myhost.test.ex
pipe, file, or autoreply
errors_to=NULL transport=t3
uid=CALLER_UID gid=CALLER_GID home=NULL
set transport t2
aaaa router generated |/bin/sh -c exit
pipe, file, or autoreply
errors_to=NULL transport=t2
uid=CALLER_UID gid=CALLER_GID home=NULL
set transport t1
aaaa router generated TESTSUITE/test-mail/file
pipe, file, or autoreply
errors_to=NULL transport=t1
uid=CALLER_UID gid=CALLER_GID home=NULL
aaaa router generated defer_aaaa@myhost.test.ex
errors_to=NULL transport=NULL
uid=unset gid=unset home=NULL
routed by aaaa router
envelope to: aaaa@myhost.test.ex
transport: <none>
locking TESTSUITE/spool/db/retry.lockfile
no retry data available
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: defer_aaaa@myhost.test.ex
unique = defer_aaaa@myhost.test.ex
defer_aaaa@myhost.test.ex: queued for routing
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: TESTSUITE/test-mail/file
unique = TESTSUITE/test-mail/file:aaaa@myhost.test.ex
queued for t1 transport
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: |/bin/sh -c exit
unique = |/bin/sh -c exit:aaaa@myhost.test.ex
queued for t2 transport
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: >CALLER@myhost.test.ex
unique = >CALLER@myhost.test.ex:aaaa@myhost.test.ex
queued for t3 transport
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing defer_aaaa@myhost.test.ex
--------> bounce router <--------
local_part=defer_aaaa domain=myhost.test.ex
checking senders
bounce router skipped: senders mismatch
--------> defer router <--------
local_part=defer_aaaa domain=myhost.test.ex
checking local_parts
calling defer router
rda_interpret (string): :defer: forced defer
expanded: :defer: forced defer
file is not a filter file
parse_forward_list: :defer: forced defer
extract item: :defer: forced defer
defer router: defer for defer_aaaa@myhost.test.ex
message: forced defer
LOG: MAIN
== defer_aaaa@myhost.test.ex <aaaa@myhost.test.ex> R=defer defer (-1): forced defer
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
After routing:
Local deliveries:
>CALLER@myhost.test.ex
|/bin/sh -c exit
TESTSUITE/test-mail/file
Remote deliveries:
Failed addresses:
Deferred addresses:
defer_aaaa@myhost.test.ex
locking TESTSUITE/spool/db/retry.lockfile
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
DSN: bounce propagating DSN
DSN: defer propagating DSN
DSN: aaaa_2nd_time propagating DSN
DSN: aaaa propagating DSN
LOG: MAIN
<= <> R=10HmaX-0005vi-00 U=CALLER P=local S=sss
Exim version x.yz ....
configuration file is TESTSUITE/test-config
trusted user
admin user
DSN: bounce propagating DSN
DSN: defer propagating DSN
DSN: aaaa_2nd_time propagating DSN
DSN: aaaa propagating DSN
locking TESTSUITE/spool/db/retry.lockfile
no retry data available
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: CALLER@myhost.test.ex
unique = CALLER@myhost.test.ex
CALLER@myhost.test.ex: queued for routing
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing CALLER@myhost.test.ex
--------> bounce router <--------
local_part=CALLER domain=myhost.test.ex
checking senders
calling bounce router
rda_interpret (string): :blackhole:
expanded: :blackhole:
file is not a filter file
parse_forward_list: :blackhole:
extract item: :blackhole:
address :blackhole:d
LOG: MAIN
=> :blackhole: <CALLER@myhost.test.ex> R=bounce
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
After routing:
Local deliveries:
Remote deliveries:
Failed addresses:
Deferred addresses:
LOG: MAIN
Completed
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
LOG: MAIN
=> >CALLER@myhost.test.ex <aaaa@myhost.test.ex> R=aaaa T=t3
locking TESTSUITE/spool/db/retry.lockfile
transport error EPIPE ignored
LOG: MAIN
=> |/bin/sh -c exit <aaaa@myhost.test.ex> R=aaaa T=t2
locking TESTSUITE/spool/db/retry.lockfile
LOG: MAIN
=> TESTSUITE/test-mail/file <aaaa@myhost.test.ex> R=aaaa T=t1
locking TESTSUITE/spool/db/retry.lockfile
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
DSN: bounce propagating DSN
DSN: defer propagating DSN
DSN: aaaa_2nd_time propagating DSN
DSN: aaaa propagating DSN
LOG: queue_run MAIN
Start queue run: pid=pppp -qf
locking TESTSUITE/spool/db/retry.lockfile
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: aaaa@myhost.test.ex
unique = aaaa@myhost.test.ex
aaaa@myhost.test.ex: queued for routing
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing aaaa@myhost.test.ex
--------> bounce router <--------
local_part=aaaa domain=myhost.test.ex
checking senders
bounce router skipped: senders mismatch
--------> defer router <--------
local_part=aaaa domain=myhost.test.ex
checking local_parts
defer router skipped: local_parts mismatch
--------> aaaa_2nd_time router <--------
local_part=aaaa domain=myhost.test.ex
checking local_parts
checking "condition" "${if first_delivery{no}{yes}}"...
calling aaaa_2nd_time router
rda_interpret (string): aaaa@$domain
expanded: aaaa@myhost.test.ex
file is not a filter file
parse_forward_list: aaaa@myhost.test.ex
extract item: aaaa@myhost.test.ex
aaaa_2nd_time router generated aaaa@myhost.test.ex
errors_to=NULL transport=NULL
uid=unset gid=unset home=NULL
routed by aaaa_2nd_time router
envelope to: aaaa@myhost.test.ex
transport: <none>
locking TESTSUITE/spool/db/retry.lockfile
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: aaaa@myhost.test.ex
unique = \0\aaaa@myhost.test.ex
aaaa@myhost.test.ex: queued for routing
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing aaaa@myhost.test.ex
--------> bounce router <--------
local_part=aaaa domain=myhost.test.ex
checking senders
bounce router skipped: senders mismatch
--------> defer router <--------
local_part=aaaa domain=myhost.test.ex
checking local_parts
defer router skipped: local_parts mismatch
--------> aaaa_2nd_time router <--------
aaaa_2nd_time router skipped: previously routed aaaa@myhost.test.ex
--------> aaaa router <--------
local_part=aaaa domain=myhost.test.ex
checking local_parts
calling aaaa router
rda_interpret (string): # Exim filter
deliver defer_aaaa@$domain
save TESTSUITE/test-mail/file
pipe "/bin/sh -c exit"
mail subject autoreply
text "This is an autoreply"
expanded: # Exim filter
deliver defer_aaaa@myhost.test.ex
save TESTSUITE/test-mail/file
pipe "/bin/sh -c exit"
mail subject autoreply
text "This is an autoreply"
data is an Exim filter program
Filter: start of processing
Filter: end of processing
rda_interpret: subprocess yield=0 error=NULL
set transport t3
aaaa router generated >CALLER@myhost.test.ex
pipe, file, or autoreply
errors_to=NULL transport=t3
uid=CALLER_UID gid=CALLER_GID home=NULL
set transport t2
aaaa router generated |/bin/sh -c exit
pipe, file, or autoreply
errors_to=NULL transport=t2
uid=CALLER_UID gid=CALLER_GID home=NULL
set transport t1
aaaa router generated TESTSUITE/test-mail/file
pipe, file, or autoreply
errors_to=NULL transport=t1
uid=CALLER_UID gid=CALLER_GID home=NULL
aaaa router generated defer_aaaa@myhost.test.ex
errors_to=NULL transport=NULL
uid=unset gid=unset home=NULL
routed by aaaa router
envelope to: aaaa@myhost.test.ex
transport: <none>
locking TESTSUITE/spool/db/retry.lockfile
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: defer_aaaa@myhost.test.ex
unique = defer_aaaa@myhost.test.ex
defer_aaaa@myhost.test.ex: queued for routing
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: TESTSUITE/test-mail/file
unique = TESTSUITE/test-mail/file:aaaa@myhost.test.ex
TESTSUITE/test-mail/file was previously delivered: discarded
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: |/bin/sh -c exit
unique = |/bin/sh -c exit:aaaa@myhost.test.ex
|/bin/sh -c exit was previously delivered: discarded
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering: >CALLER@myhost.test.ex
unique = >CALLER@myhost.test.ex:aaaa@myhost.test.ex
>CALLER@myhost.test.ex was previously delivered: discarded
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing defer_aaaa@myhost.test.ex
--------> bounce router <--------
local_part=defer_aaaa domain=myhost.test.ex
checking senders
bounce router skipped: senders mismatch
--------> defer router <--------
local_part=defer_aaaa domain=myhost.test.ex
checking local_parts
calling defer router
rda_interpret (string): :defer: forced defer
expanded: :defer: forced defer
file is not a filter file
parse_forward_list: :defer: forced defer
extract item: :defer: forced defer
defer router: defer for defer_aaaa@myhost.test.ex
message: forced defer
LOG: MAIN
== defer_aaaa@myhost.test.ex <aaaa@myhost.test.ex> R=defer defer (-1): forced defer
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
After routing:
Local deliveries:
Remote deliveries:
Failed addresses:
Deferred addresses:
defer_aaaa@myhost.test.ex
locking TESTSUITE/spool/db/retry.lockfile
LOG: queue_run MAIN
End queue run: pid=pppp -qf
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
|