Your cheapest option is to have one (single) google apps account which will cost you around $5 per month. Make it something very general like [email protected]. Then in the google apps dashboard make it a catch-all address. This will make the single inbox catch-all email for accounts such as Sales@, support@ bob@ or whatever at your domain.
Then you can set Gmail filters to sort (label) each incoming message based on who it was sent to. For example, you can have messages sent to frank@ automatically labeled as frank.
Are you interested in learning SQL form scratch! Here's the right video for you on Azure:
Next, you want to create regular old Gmail accounts for all of your individual users. I am going to follow the example of creating a box for [email protected] for this instance.
1. Create Google Apps primary account (catch-all) as [email protected]
2. Create Gmail account for [email protected] (regular Gmail account)
3. Create filter rule on Google Apps account for all messages sent to [email protected] to be forwarded to [email protected]. You can further mark them as read or delete them upon forward.
4. In the [email protected] create a sending alias as [email protected]. Google will give you a 4 digit code, and now when logging in as [email protected] I can both send as [email protected] and receive all email since it's forwarded to this account.
Also make sure to set default reply: to addresses in case you send from the [email protected] address.
Using the technique above you can get all the benefits of having a pro google apps account (dkim, spf, 25gb inbox) and with a little bit of configuration you can set up multiple Gmail accounts that run off the single account. We use the technique above and it works flawlessly. The only thing that doesn't work is mailbox delegation, which is not that great.
If you wanted to save the $5 you could get away with using something like GoDaddy free email forwarding, but then you would be limited to godaddys 250 message limit per day.
The approach above just works.