The various pointers for spam I've seen are:
- Links in signatures to a product or service
- Re-using text that others have said, all jumbled together
- Posting in the wrong forum/section for what the text is saying
- Repeated threads of the same text
- A low post count other than the spam messages
- A strange country of origin compared to your target demographic
- Walls of text with links dotted in the posts
You could enlist the help of a system like Akismet, but often community-based moderation is tricky. You could create a little announcement and encourage people to report suspicious posts, but as aforementioned this may be unread by most. Even so, without dedicated moderators this is an issue that has to come with the community.
Alternatively you may wish to leave some of the spam posts there for a short period of time, close the topic and just make a single reply saying "this is what spam looks like, look out for: " and so forth. This way, people will attempt to engage in the community but will read your reply by default, instead of ignoring an announcement you've put out.