Sometimes, you want to block non-work email addresses, from free providers, since they're more likely to be "throwaway" addresses.
A full implementation of this is a bit complex, but a basic implementation using Patterns is easy;
In addition to setting the field type to email, add the following custom attribute;
pattern = ((?!@(gmail.com|yahoo.com|hotmail.com)).)*
You should be able to enter any email, except those ending in @gmail.com, @yahoo.com, or @hotmail.com.
Add more to the list with another pipe and domain, e.g. |outlook.com.