You're not alone in this, and the reason is simple: on the Internet, there's way less at stake.
Approaching somebody you don't know in public is awkward, and throwing sex into that equation doesn't help much. Neither does the fact that we're taught to stake our ego on people agreeing to go out with us, which is ridiculous. If you approach somebody at a bar and they say "no", you're out, at most, five bucks. It says nothing about you except you don't have chemistry with every single person on the planet.
And just to add to the problem, we're taught from an early age that approaching a total stranger and trying to engage them in conversation is weird and not to do that...aaaaaand then we expect about half the population to do precisely that in bars after two drinks. Oh, and we're expected to start doing this in the social bloodsport that is high school. It's kind of amazing anybody has a one-night stand at all.
The Internet, though, is not public in the same way. There isn't a group of friends standing nearby watching you; nobody has any names; he hasn't sunk $20 on drinks. He's sending you an email: if you don't reply, there are plenty of other people on the site.
Don't worry: what you're dealing with is pretty typical. Guys get over it, eventually.
Keyboard courage. He has nothing vested, but everything to gain online.
As for the guy in front of you…, relax, smile a lot & make definite eye contact with him. Let him know that it’s “ok” to come up to you. You can be a confident, independent, free thinking woman & still get the guys. Just give him a sign that you are approachable.
Also, a lot of guys send out TONS of emails. I have a guy friend who writes an email and sends it to 100 girls in one night. He doesn't even look at the profile he just looks at the picture and if she's semi-attractive he'll send her an email, then if he gets a response he'll look at the profile to see if he's interested. So there is a lot less at stake, a lot less time and effort on his part.