From 7827295637e76b09ed65ac1eca4fe17008225fe2 Mon Sep 17 00:00:00 2001 From: Whyverum Date: Mon, 8 Dec 2025 16:44:35 +0700 Subject: [PATCH] =?UTF-8?q?=D0=92=D0=B0=D0=BB=D0=B8=D0=B4=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=20=D0=BF=D0=BE=D1=87=D1=82=D0=BE=D0=B2=D1=8B=D1=85?= =?UTF-8?q?=20=D0=B0=D0=B4=D1=80=D0=B5=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- middleware/validators/email_vld.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 middleware/validators/email_vld.py diff --git a/middleware/validators/email_vld.py b/middleware/validators/email_vld.py new file mode 100644 index 0000000..c30d0e7 --- /dev/null +++ b/middleware/validators/email_vld.py @@ -0,0 +1,24 @@ +from typing import Optional + +from email_validator import validate_email, EmailNotValidError, ValidatedEmail + +# Настройка экспорта из этого модуля +__all__ = ("valid_email",) + + +def valid_email(e_mail: str) -> Optional[str]: + """ + Валидация почты через библиотеку. + + :param e_mail: Получаемая почта. + :return: Нормализированная почта. + """ + try: + # Провека почты на валидность + email: ValidatedEmail = validate_email(e_mail) + + except EmailNotValidError: + return None + + # Возвращение строки с нормализированной почтой + return email.normalized