No creo que te sirva la máscara de entrada para lo que necesitas hacer, entre otras cosas porque una máscara de entrada sólo sirve para "forzar" al usuario a que introduzca la información en un determinado formato, pero los valores de máscara no se almacenan en el campo.
Puedes controlar la introducción de datos a través de código. Imaginemos que en el formulario hay un campo llamado [email]. Sacas las propiedades de ese campo y te vas a la pestaña Eventos -> Después de actualizar, y ahí le generas el siguiente código:
...
Private Sub email_AfterUpdate()
'Declaramos las variables
Dim vMail As String
Dim correcto As Boolean
'Inicializamos correcto
correcto = True
'Cogemos el valor introducido
vMail = Nz(Me.email.Value, "")
'Si no se ha introducido valor salimos
If vMail = "" Then Exit Sub
'Comprobamos que haya la arroba
If InStr(1, vMail, "@") = 0 Then
MsgBox "Mail incorrecto. Reintrodúzcalo, por favor", vbExclamation, "AVISO"
Exit Sub
End If
If InStr(1, vMail, ".com") = 0 Then
If InStr(1, vMail, ".es") = 0 Then
correcto = False
End If
End If
If correcto = False Then
MsgBox "Mail incorrecto. Reintrodúzcalo, por favor", vbExclamation, "AVISO"
Exit Sub
End If
End Sub
...
Ten en cuenta que el código limita la entrada de mails a dominios .com o .es, tal y como indicabas en la consulta.
Ya me dirás qué tal.