I've used a validation rule that enforces at least minimal compliance:
Like "?*@?*.??*"
This requires one or more characters, followed by the @, one or more
characters, followed by the ., followed by two or more characters (as far as
I know there aren't any single-character domain types).
You can't make a useful input mask because the number of characters in each
position varies. Input masks are only helpful if the input format is always
the same, or perhaps a few options like you can see in the samples for zip
code and phone number.