------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1291
           Summary: System filter cannot modify headers after first delivery
           Product: Exim
           Version: 4.80
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Filters
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]


I want to have a system filter that modify headers after the first delivery.
According to the documentation, that should be possible:

"For this reason, it is usual to make the headers command conditional on
first_delivery so that the set of header lines is not modified more than once."

As I understand it, although most users only want to modify headers on the
first delivery, they specifically have to use "if first_delivery". If you don't
use "first_delivery", your directives should apply on each delivery.

However, my tests suggest that it doesn't work. I have a very simple test
filter:

  headers add "X-Foo: bar"
  defer

(the defer is only to make testing easier, I get the same results without it)

It adds the header just fine on the first delivery, but fails to do so on
retries. It's not a matter of duplicate headers: even if I temporarily rename
the header name and force a delivery with exim -M, it doesn't do anything, and
the spool header file remains untouched. Removing headers doesn't work either.

Testing the filter with -bF prints:

  Headers add "X-Foo: bar"
  Defer text ""
  Filtering ended by "defer".
  2012-06-20 12:05:08 Delivery deferred by system filter

Running exim -d+all -M prints nothing unusual:

  12:08:53 1862816 Filter: start of processing
  12:08:53 1862816 Filter: defer ""
  12:08:53 1862816 Filtering ended by "defer".
  12:08:53 1862816 Filter: end of processing
  12:08:53 1862816 system filter returned 3
  12:08:53 1862816 LOG: MAIN
  12:08:53 1862816   Delivery deferred by system filter

I tested initially on 4.77. Same results with 4.80, freshly compiled, with an
almost empty config file (not much besides 'system_filter').


-- 
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim 
details at http://www.exim.org/ ##

Reply via email to