Django regex проверка строк для электронных писем, включающих международные символы

Чтобы разрешить только международные символы в локальной части, я пытаюсь расширить класс EmailValidator следующим образом:

class EmailValidator(_EmailValidator):
"""
This is meant to mirror the Django version but override the user_regex to allow for more unicode chars
"""
user_regex = _lazy_re_compile(
    r"^\w[a-zA-Z0-9èéàáâãäçêìíîñòóôöäüÖÄÜ\.\-_]",  # too vague
    re.IGNORECASE)

Очевидно, что в моей строке regex есть некоторые дыры. В идеале это должно соответствовать стандартам RFC 5322. У меня есть несколько тестовых писем, которые должны пройти:

  1. piny@tineapples.com - valid
  2. tinä@turner.com - valid
  3. pinéapplé@lol.com - valid
  4. pinéa@pplé@lol.com - invalid
  5. kînda.prétty.ãmazonian1539@pastasauce.co - valid
Вернуться на верх