I am very new at this, but I'll take a shot at it...
> I am trying to use something like this :-
>
> warn message = X-Spam-Score: $spam_score
> spam = nobody:true
> condition = "${if
> def:header_x-spam-score:{$h_x-spam-score:}{$h_from:}}"
I think you want the condition to check for the presence of the header and
then return true or false, like this:
warn message = X-Spam-Score: $spam_score
spam = nobody:true
condition = "${if def:header_X-Spam-Score:{0}{1}}"
This condition checks for the presence of the header and, if it is present
returns false, or 0, so that the condition does not run. If the header is
not present then true, or 1, is returned so the condition is run.
Also, note that I changed the capitalization in the if statement to match
the actual header you put in.
Some people like to put a simple SPAM flag header in, in addition to the
score, like this:
# Add this header only to messages judged to be SPAM
warn message = X-Spam-Flag: YES
spam = nobody
Hope this helps.
Jim