You get what you pay for. Free hosting comes at a price -- mostly unwanted ads, lack of control of various options, and their right to snoop through your mail content and use it for their own purposes. You require people to sign an NDA before telling them about your stuff, right? So why would you want to set up an email account somewhere that says you get it for free by allowing them to have nonexclusive right to access your email??? This kind of attitude totally baffles me! Here you are setting up a business and you basically want to set up a key part of your service in somebody else's garage and trust that they have your best interests at heart. Really?
You get domain names from registrars, and virtually all registrars today offer some kind of hosting. It's not free, but it's pretty damn cheap.
Here's a link to get a 55% discount off of the first month's hosting at Hostgator:
Get a cPanel hosting account. Even GoDaddy offers them now! NameCheap does, too.
Most email clients allow you to configure them for external email hosting, and cPanel lets you set up both POP3 and IMAP. These accounts also give you web hosting.
This is a great way to get started. You can start out small on a shared server, and expand your resources as needed, to the point where you can get a dedicated host if needed. cPanel makes it really easy to migrate accounts from one server to another, so you not tied down. Just don't expect to migrate a free hosting account any where, because they don't want you to leave.