------- You are receiving this mail because: -------
You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1113
Summary: errors_to get messed up, maybe related to unseen
Product: Exim
Version: 4.74
Platform: x86
OS/Version: Linux
Status: NEW
Severity: bug
Priority: high
Component: Delivery in general
AssignedTo: nigel@???
ReportedBy: grin@???
CC: exim-dev@???
The trouble was detected when it turned out that final nondelivery bounces
never got sent out because:
2011-05-15 01:37:41 1QLOOu-00036D-Nw ** zzz@??? <zzz@???>: retry
timeout exceeded
2011-05-15 01:37:41 1QLOOu-00036D-Nw zzz@??? <zzz@???>: error ignored
Debug didn't really help either:
01:15:18 1948 timed out: all retries expired
01:15:18 1948 zzz@???: no retry items
01:15:18 1948 LOG: MAIN
01:15:18 1948 ** zzz@??? <zzz@???>: retry timeout exceeded
01:15:18 1948 end of retry processing
01:15:18 1948 processing failed address zzz@???
01:15:18 1948 LOG: MAIN
01:15:18 1948 zzz@??? <zzz@???>: error ignored
01:15:18 1948 zzz@???: children all complete
01:15:18 1948 Writing spool header file
01:15:18 1948 Size of headers = 2521
01:15:18 1948 LOG: MAIN
01:15:18 1948 Completed QT=26s
No reason in the [full] debug! :-(
The docs mention 3 possible reasons:
1) ignored expired bounce: these never have been frozen, so this doesn't apply
2) noerror in filter: no filter, doesn't apply
3) setting errors_to=<>.
Well, the mail delivery is spiced up by an "unseen" router, which did indeed
set errors_to="", however the next matching router (which should have generated
the bounce) didn't touch it, and it has been logged as so:
01:15:17 1948 queued for clone_remote_smtp transport: local_part = zzz
01:15:17 1948 domain = zz.net
01:15:17 1948 errors_to=
01:15:17 1948 domain_data=NULL localpart_data=NULL
01:15:17 1948 routed by cloner_in router (unseen)
01:15:17 1948 envelope to: zzz@???
01:15:17 1948 transport: clone_remote_smtp
01:15:17 1948 errors to
01:15:17 1948 "unseen" set: replicated zzz@???
and
01:15:18 1948 set transport maildir_spool_db
01:15:18 1948 queued for maildir_spool_db transport: local_part = zzz
01:15:18 1948 domain = zzz.net
01:15:18 1948 errors_to=NULL
01:15:18 1948 domain_data=zzz.net localpart_data=NULL
01:15:18 1948 routed by local_db_user router
01:15:18 1948 envelope to: zzz@???
01:15:18 1948 transport: maildir_spool_db
01:15:18 1948 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
01:15:18 1948 After routing:
01:15:18 1948 Local deliveries:
01:15:18 1948 zzz@???
01:15:18 1948 Remote deliveries:
01:15:18 1948 zzz@???
01:15:18 1948 Failed addresses:
01:15:18 1948 Deferred addresses:
01:15:18 1948 search_tidyup called
So as far as I see the routers correctly see first routed entry as errors_to=<>
and the second as errors_to=NULL which is the default to use the sender.
But you see the result shows otherwise.
Now, if I set the _first_ router to anything, like
errors_to="yeah@???" then the mail in the transport of the _second_
router gets properly bounced:
01:32:18 9520 timed out: all retries expired
01:32:18 9520 zzz@???: no retry items
01:32:18 9520 LOG: MAIN
01:32:18 9520 ** zzz@??? <zzz@???>: retry timeout exceeded
01:32:18 9520 end of retry processing
01:32:18 9520 processing failed address zzz@???
01:32:18 9520 sending error message to: originalsender@???
01:32:18 9520 expanding: Mail Delivery System <Mailer-Daemon@$qualify_domain>
..etc..
This just doesn't feel right. Right? :)
System is debian squeeze with a pinch of debian/testing.
--
Configure bugmail:
http://bugs.exim.org/userprefs.cgi?tab=email