When I send myself a mail with:

echo "test" | mail -n -s "test" user@example.com

I get the following error in /var/log/exim4/mainlog:

Error in system filter: malformed numerical string ""

How can I find the error in the system filter?

if $h_X-Spam_score_int is above 49
    and foranyaddress $recipients ($thisaddress contains "@example.at")
        headers add "Old-Subject: $h_subject"
        headers remove "Subject"
        headers add "Subject: *** SPAM ($header_X-Spam_score points) *** $h_old-subject"
        headers remove "Old-Subject"
        #save /var/mail/suspect_spam
finish endif

1 Answer 1


This command gives you the name of the system filter file:

$ /usr/sbin/exim4 -bP system_filter

It's unset by default, so if it contains something, it must be set somewhere in your Exim configuration.

  • Thank you I have added the system filter to the question.
    – kiatra
    Mar 10, 2017 at 16:28
  • 1
    It very much looks like the message had no X-Spam_score_int header. What should have added it? Test this theory by replacing $h_X-Spam_score_int following the if with a literal 50, sending mail again and checking the full headers of the arrived message. Mar 11, 2017 at 17:31
  • 1
    You are right, I changed the condition to if $h_X-Spam_score_int is not "" and $h_X-Spam_score_int is above 49 to fix the error.
    – kiatra
    Mar 18, 2017 at 23:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.