When you create a new security role from scratch and then assign only that role to a system user and when you log to the CRM site you might get the above mentioned error. This is because you haven't given read permission to the View in the Customization entity. Once this is done the system would start working for you.
We were working on sending emails programmatically using CRM and all were working fine. Suddenly we got this error when we tried to send an email. It was strange to us as this functionality was working fine before. So we did some digging to find out what had changed to cause this issue. We found out that one of us had changed the email sending user from the admin user to another user.
We use a CRM user to work with a web portal and we have used the same user as the email sending user. Hence we didn’t get any errors as the same user can send emails to anyone using the same user account. (no impersonation is here).
But when you try to send an email from someone else using a different user account you get and error as the email sending user has not granted permission for others to send emails on behalf of him. You can grant the permission by going to personal user setting of the email sending user and selecting “Allow other Microsoft dynamics CRM users to send email on your behalf”.