Look at their work history, read what they are actually writing. If they are specific about the role, the company and why you fit, they are probably good. If there is a list of qualifications and no real reasoning as to why they are contacting you specifically, they probably aren't very good.
I said this in another post, but even as a recruiter, I get contacted constantly and I usually just look at the persons work history, the specifics of the offer, if they actually seem credible, (does person offering you job at Google actually work at Google?) and if they're offering something that actually makes sense for you. If those are the case, they're probably not dreadful.
I've always wanted to be a programmer. Ever since I was a kid when I spent a bit of time in QBasic giving my friends unlimited lives in Snake and Gorillas. By the time I was nearing adulthood I knew that I definitely wanted to pursue programming as a career (by the standard-seeming path of getting a CS degree), so I joined the National Guard so I could pay for it.
In 2008 I was working at Wal-Mart throwing boxes off of trucks and trucking product out to the shelves. Incidentally this was the best job I had ever had excluding my current career, and I still look back fondly on it.
I had tried to go to the local technical college for their programmer analyst degree but quickly dropped out after I found that I knew most of the material and could not even test out of classes that were primarily focused on teaching you how to use a mouse.
In 2009 my unit was deployed to Iraq and I resigned that I would try to go to a four-year college for CS when I returned and I had my VA benefits to throw around.
Everything changed when I met my mentor (a figurehead in the Ruby community) online via a comment that I had left on his blog. I had been learning Ruby/Rails in my downtime during the deployment to that point and we continued to converse throughout the rest of the deployment.
When I got back in 2010, instead of applying to college, I already a job offer waiting for me because my mentor decided to take a chance on me and hire me at the RoR consulting company he was CTO of at the time.
Three years later, I've spoken at a conference, co-authored a book, and have been working in the career I always dreamed of because someone decided to take a chance on me.
I owe the success of the last three years in large part to Chad Fowler and the rest of the awesome folks I worked with at InfoEther in 2010, and I'll always be eternally grateful for the chance I was given that led me to where I am today.