[exim-dev] [Bug 1113] New: errors_to get messed up, maybe re…

Top Page
Delete this message
Reply to this message
Author: Peter Gervai
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 1113] New: errors_to get messed up, maybe related to unseen
------- 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