So, mailbox limits. These are enforced on the database itself and can be done on a per user basis.
Open Exchange Management Console, expand Server Configuration, Pick Mailbox, Find your mailbox database and right click Properties, click on Limits Tab. Set them here
For individual users: From Exchange Management Console, expand Recipient Configuration, click on Mailbox. Find the user in question. Go to their properties, Mailbox settings tab, select storage quotas, click on properties, uncheck box for "use database defaults", set manually per user.
Now, for maximum size limits, these are defined on the connectors. Open Exchange Management Console, expand Hub Transport, look through your receive connectors, properties, set Maximum Message size
on the General tab.
With respect to setting limits, I set a warning and then I prevent sending emails once limit is hit. You don't want to prevent somebody from ever receiving email. Once they hit limit and cannot send, they will clean themselves up.