Good solution to sending attachments via email
Solution 1:
You could create a Dropbox account and copy/paste link to the file in "Public" folder. Just remove them after a few weeks when recipient downloaded the file.
Yes, it's a "hack", but it might be more convenient than having to upload files to one of those "file hosting" websites.
Solution 2:
You could try drop.io (similar to Dropbox) or MediaFire (one-click) hosting. Both have free plans without waiting times or bandwidth limits.
Solution 3:
What I do, which I'll admit isn't for everyone, is drop the files on a web server using WebDAV and e-mail a link. The recipient has to try real hard to mess it up! Which, unfortunately, has been the problem in pretty much every other technique I've tried. Other pluses, I can delete it, replace it, etc., whenever I want. Shared hosting is cheap or you could do it home-brew style on an old computer and a dynamic DNS updater.
Solution 4:
Here's a (beta) solution that keeps you in control of your own files - Opera Unite. They've got a very fast server built-in, and methods to bypass firewalls so one can easily serve your own files over the web. The current 10.1 snapshots contain the latest release:
http://my.opera.com/unite/blog/
I use it to serve out large files that mail would choke on, but I want to keep hosted on my machine.