how to pass variable to grep?

Hi
I have a such conditional:

SPAMH="it is SPAM"
if grep -q $SPAMH $NMDIR/$mail; then
                SPAMHFLAG=1
        else
                SPAMHFLAG=0
fi

And grep doesn't catch this string, even it exists there. I think it's a problem with passing $SPAMH to grep. I tried "$SPAMH", '$SPAMH', `$SPAMH` etc, but it doesn't help.
Please advice me how to make it working..
Thanks

Well, you would certainly need to use "$SPAMH", since it has some spaces, but try using set -x to see what's going-on.

SPAMH='it is SPAM'
grep "$SPAMH" .....