/
Ao
/
MaxReport
Обзор
Документация
Войти
/
Ao
/
MaxReport
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
pgsql/pgAdmin 4/web/pgadmin/utils/validation_utils.py
59 строк
2 KB
AoAnima
first_commit
13 июл 2026, 17:47
13 июл 2026, 17:47
f1a670a
Код
Авторство
О чём код?
########################################################################## # # pgAdmin 4 - PostgreSQL Tools # # Copyright (C) 2013 - 2026, The pgAdmin Development Team # This software is released under the PostgreSQL Licence # ########################################################################## import email_validator from email_validator import validate_email as email_validate, \ EmailNotValidError def validate_email(email, email_config=None): # email_validator raises TypeError (not EmailNotValidError) when the # input is not str/bytes. Treat anything non-string as invalid so # callers see a clean False, matching the contract that this wrapper # never raises. if not isinstance(email, (str, bytes)): return False try: if email_config is None: email_config = {} import config email_config['CHECK_EMAIL_DELIVERABILITY'] = \ config.CHECK_EMAIL_DELIVERABILITY email_config['ALLOW_SPECIAL_EMAIL_DOMAINS'] = \ config.ALLOW_SPECIAL_EMAIL_DOMAINS email_config["GLOBALLY_DELIVERABLE"] = \ config.GLOBALLY_DELIVERABLE # Allow special email domains if isinstance(email_config['ALLOW_SPECIAL_EMAIL_DOMAINS'], str): email_config['ALLOW_SPECIAL_EMAIL_DOMAINS'] = \ email_config['ALLOW_SPECIAL_EMAIL_DOMAINS'].split(',') try: email_validator.SPECIAL_USE_DOMAIN_NAMES = [ d for d in email_validator.SPECIAL_USE_DOMAIN_NAMES if d not in email_config['ALLOW_SPECIAL_EMAIL_DOMAINS'] ] except Exception: pass email_validator.GLOBALLY_DELIVERABLE = \ email_config["GLOBALLY_DELIVERABLE"] # Validate. _ = email_validate( email, check_deliverability=email_config['CHECK_EMAIL_DELIVERABILITY']) # Update with the normalized form. return True except EmailNotValidError as e: # email is not valid, exception message is human-readable print(str(e)) return False