Hi,
Thanks, that explanation sounds plausible on first glance. But can it
be confirmed in the originally attached debug log?
I have doubts because from my experience duplicating a message in this
way and sending it to multiple routers/transports (e.g. both saving it
to disk and passing it on to another IP via SMPT as below) works in
other configurations.
In fact, modifying the originally posted routers by inserting just one
additional router "savetodisk2" makes router11 try to send the message
to 10.30.32.41 as I had originally expected which makes me wonder why
the message didn't get sent to 10.30.32.41 in the original example.
Modification (that "works"):
todestination1:
driver = redirect
local_part_suffix = +*
local_part_suffix_optional
condition = ${if
match{${lookup{${quote_local_part:${sg{$local_part}{\N\+.+$\N}{}}}_T9}lsearch{/etc/exim/table1}{success}{fail}}}{success}
}
data = ${sg {${lookup{${quote_local_part:$local_part}_T9}lsearch{/etc/exim/table1}{$value}{notfound}}}{\N\+inbox\N}{$local_part_suffix}}
redirect_router = router11
unseen
no_verify
savetodisk:
driver = accept
local_part_suffix = +*
local_part_suffix_optional
transport = buffer_mail
no_verify
unseen
savetodisk2:
driver = accept
local_part_suffix = +*
local_part_suffix_optional
transport = buffer_mail
no_verify
router11:
driver = manualroute
hosts_randomize = true
route_data = 10.30.32.41
transport = mytransport11
no_verify
mainlog when this modification is tested:
2015-08-20 16:40:14 SMTP connection from [10.5.6.13]:63131
I=[10.21.20.250]:25 (TCP/IP connection count = 1)
2015-08-20 16:40:14 1ZSSsw-0002yX-5y <= example.com@???
H=(desktop1) [10.5.6.13]:63131 I=[10.21.20.250]:25 P=esmtp S=565
id=01d0db66$Blat.v3.0.6$e3783b0d$205c8c847af2@10.21.20.250
T="mysubject" from <example.com@???> for
example.com@???
2015-08-20 16:40:14 SMTP connection from (desktop1) [10.5.6.13]:63131
I=[10.21.20.250]:25 closed by QUIT
2015-08-20 16:40:14 cwd=/var/spool/exim 3 args: /usr/sbin/exim -Mc
1ZSSsw-0002yX-5y
2015-08-20 16:40:14 1ZSSsw-0002yX-5y => example.com
(example.com@???) <example.com@???>
F=<example.com@???> P=<example.com@???> R=savetodisk2
T=buffer_mail S=565 QT=0s DT=0s
2015-08-20 16:40:14 1ZSSsw-0002yX-5y => example.com
(example.com@???) <example.com@???>
F=<example.com@???> P=<example.com@???> R=savetodisk
T=buffer_mail S=565 QT=0s DT=0s
2015-08-20 16:40:14 1ZSSsw-0002yX-5y == example.com@???
(example.com@???) <example.com@???> R=router11
T=mytransport11 defer (-53): retry time not reached for any host
I would be very grateful for additional feedback (either re-assuring
the first reply or another approach to explain it).
The goal is that "savetodisk" is always executed and that "router11"
is executed if and only if the condition in "todestination1" is true.
I have found a workaround (in my non-simplified production environment
the workaround is to swap 2 routers that are both "unseen" and
adjacent) but I cannot explain why one version works and the other one
does not execute "router11")
Thanks again!
On Thu, Aug 20, 2015 at 1:49 AM, Jeremy Harris <jgh@???> wrote:
> On 19/08/15 19:08, fBXzK kEl1q wrote:
>> Does anyone have an idea what may be wrong?
>
> Your "unseen" router redirected to an address that was the same
> as the original, a duplicate, which was then discarded because
> of being a duplicate.
> --
> Jeremy
>
>
>
> --
> ## List details at https://lists.exim.org/mailman/listinfo/exim-users
> ## Exim details at http://www.exim.org/
> ## Please use the Wiki with this list - http://wiki.exim.org/