On 05/10/14 12:42, Steve Wilson wrote:
> I'm trying to upgrade exim from 4.80 to 4.84 but when running 4.84 I get
> the below error in the logs, an empty message ends up in the mailbox and
> the real message is deferred. I've rolled back as I need this to be
> working but obviously want to get it resolved promptly.
>
> 2014-10-02 07:58:04 1XZaKw-0002K1-GW == user@??? R=mysql_user
> T=local_dovecot_lda defer (-25): Failed to expand headers_add or
> headers_remove: missing } at end of string
>
> Here's the relevant options from the local_dovecot_lda transport.
>
> headers_remove = Subject
> headers_add = "X-SWS-Spam-Threshold: ${lookup mysql{ \
> SELECT spam_threshold \
> FROM user \
> WHERE username='${quote_mysql:$local_part}' \
> AND domain='${quote_mysql:$domain}' \
> AND SMTP_allowed='YES' \
> }{$value}{ERROR}}\n\
> X-SWS-Spam-Flag: ${if def:header_X-SWS-Spam-Score-Int:{\
[...]
Remove the doublequotes.
The argument for headers_add is a list of strings, newline-separated,
where each string is expanded separately. Quoting the whole thing
confuses the parser.
(The parser had to change to support repeated use of the headers_add
option).
--
Cheers,
Jeremy