I'm happy to be corrected, but as far as I'm aware if you add them as discouraged IPs (ACP > Users > Discouraged IPs) it will only impact those who are registered already (not guests which are also spammers).
ACP > Users > Banned IPs however will work for both.
Then just set a ban reason "Suspected spammer - if incorrect please use our contact link". If they are banned they'll still see navigation buttons.
Not ideal if you want that communication in a guest forum, unless you setup email > thread creation (which is a bit messy).
EDIT:
Actually just tested here. If the IP is banned the user cannot log out, and even if they clear their cache they see nothing. BUT they can see your navigation buttons and use them when IP Banned. That might be one solution then.