forked from NotFate/bot
Валидатор почтовых адресов
This commit is contained in:
24
middleware/validators/email_vld.py
Normal file
24
middleware/validators/email_vld.py
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user