On Fri, 26 Mar 2004, Tor Slettnes wrote:
> There seems to be a bug in the "logwrite" ACL modifier. In my
> acl_smtp_data ACL, I am trying the following:
>
> > # 40_exim4-config_check_data
> > acl_check_data:
> >
> > [...]
> >
> > warn message = X-Spam-Score: $spam_score
> > spam = mail:true
> >
> > warn message = X-Spam-Status: $spam_report
> > spam = mail:true
> >
> > accept
> > spam = mail
> > control = fakereject
> > logwrite = :main,reject: Classified as spam (score
> > $spam_score)
> > delay = 20s
>
> In /var/log/exim4/rejectlog, I see all mail headers except for the two
> I just added here, "X-Spam-Score:" and "X-Spam-Status:".
The header lines that are added to reject log messages written at ACL
time are those that came in with the message. This does not include any
that you have added. In fact, strictly, I should say "have scheduled for
adding", because they don't actually get added until the ACL has
finished. (This is because, for a RCPT ACL, the data structure for a
message's header has not yet been set up.)
The documentation doesn't make this very clear.
The way header lines are added in ACLs has proved not to be very
satisfactory. There have been previous discussions on this topic. It is
a major area that needs some thinking and planning, and then a
re-implementation. This won't happen for some time.
Philip
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book: http://www.uit.co.uk/exim-book