A reasonable rule of thumb is that one email is okay but that they should provide an opt-in link in that one email for if you want to get more emails from them. If they send more emails without your opting in then that's spam.
The general rule is that all unsolicited mail (as in not asked for) is a bad idea and is basically spam. However I doubt most people will object to you sending them an email (personalised - not just a mass mail sales pitch) if you feel you can assist them in some way. That being said I'm with felgall on the one email and no more unless they opt-in (and you must give them the option to opt-out of future emails if they wish - otherwise you're back in spam territory again).
I gave up on unwanted emails years ago. I have had dozens and dozens of domains over the years, and they all redirect to my main email accounts. So when I open my email, I have like 56,000 emails. I've just given up. If I want an email I literally have to use my email search box to find it. I tell no lies.
I don't have a problem with people sending an email offering a service. It's all the Nigerian emails and Viagra emails and useless junk full of "and he got another dinosaur, Viagra, on top of a 12516627 hill" emails that annoy me. 90% of my emails are like that - and I KNOW they're corporate sponsored. There's some very big corporations in the world, trying to not only gain power over the flow of information, but will also try to cause "problems" so that they can lobby to implement the "solution". Mark my words.. THAT is what annoys me -- not Johnny asking me if I'd like my website SEO'd.