code: def Email(v):
      
      try:
          if not v or "@" not in v:
              raise EmailInvalid("Invalid Email")
          user_part, domain_part = v.rsplit('@', 1)
  
          if not (USER_REGEX.match(user_part) and DOMAIN_REGEX.match(domain_part)):
              raise EmailInvalid("Invalid Email")
          return v
      except:
          raise ValueError
docs: Verify that the value is an Email or not.
  
      >>> s = Schema(Email())
      >>> with raises(MultipleInvalid, 'expected an Email'):
      ...   s("a.com")
      >>> with raises(MultipleInvalid, 'expected an Email'):
      ...   s("a@.com")
      >>> with raises(MultipleInvalid, 'expected an Email'):
      ...   s("a@.com")
      >>> s('t@x.com')
      't@x.com'