From e37876de7d55a0a75949578b60fc58b142afc966 Mon Sep 17 00:00:00 2001 From: Clanky Date: Mon, 13 Apr 2026 08:00:06 +0300 Subject: [PATCH] email.py update --- auth_backend/auth_plugins/email.py | 38 ++++++------------------------ 1 file changed, 7 insertions(+), 31 deletions(-) diff --git a/auth_backend/auth_plugins/email.py b/auth_backend/auth_plugins/email.py index abf0b3c2..b3ad7d1e 100644 --- a/auth_backend/auth_plugins/email.py +++ b/auth_backend/auth_plugins/email.py @@ -1,5 +1,6 @@ import hashlib import logging +import re from typing import Annotated, Self from annotated_types import MinLen @@ -27,37 +28,12 @@ logger = logging.getLogger(__name__) -def check_email(v): - restricted: set[str] = { - '"', - '#', - '&', - "'", - '(', - ')', - '*', - ',', - '/', - ';', - '<', - '>', - '?', - '[', - '\\', - ']', - '^', - '`', - '{', - '|', - '}', - '~', - '\n', - '\r', - } - if "@" not in v: - raise ValueError() - if set(v) & restricted: - raise ValueError() +EMAIL_CONST_REGEX = re.compile( + r'^[a-zA-Z0-9_.+\\-%]+@[a-zA-Z0-9\\-]+\\.[a-zA-Z0-9\\-.]+$') + +def email_check(v): + if not EMAIL_CONST_REGEX.match(v): + raise ValueError("Неверный формат email") return v