pescheckit/python-disposable

GitHub: pescheckit/python-disposable

一个纯离线、自动更新的 Python 库,用于快速判断邮箱地址是否属于一次性或临时邮箱域名。

Stars: 1 | Forks: 0

# python-disposable 一个轻量级的 Python 包,用于检测一次性/临时电子邮件地址。内置来自 [disposable/disposable-email-domains](https://github.com/disposable/disposable-email-domains) 的 **72,000+ 个域名**,每日更新——运行时无需网络调用。 ## 安装 ``` pip install python-disposable ``` ## 用法 ### 基础检查 ``` from disposable_email import is_disposable, is_valid is_disposable("user@mailinator.com") # True is_disposable("user@gmail.com") # False # 也适用于裸域 is_disposable("guerrillamail.com") # True # Inverse is_valid("user@gmail.com") # True ``` ### 严格模式 严格模式还会标记灰名单域名——即那些允许匿名注册但并非纯粹一次性的服务(例如一些免费电子邮件提供商)。 ``` is_disposable("example.com", strict=True) is_valid("example.com", strict=True) ``` ### 子域名处理 子域名会自动解析为其父域名。 ``` is_disposable("mail.mailinator.com") # True is_disposable("a.b.guerrillamail.com") # True ``` ### 获取完整域名集合 ``` from disposable_email import get_domains domains = get_domains() # frozenset of 72k+ domains domains_strict = get_domains(strict=True) # frozenset of strict list ``` ### 域名数量 ``` from disposable_email import domain_count domain_count() # 72170 domain_count(strict=True) # 26468 ``` ## Django 示例 ``` from django import forms from disposable_email import is_disposable class RegisterForm(forms.Form): email = forms.EmailField() def clean_email(self): email = self.cleaned_data["email"] if is_disposable(email): raise forms.ValidationError("Disposable email addresses are not allowed.") return email ``` ## API 参考 | 函数 | 描述 | |----------|-------------| | `is_disposable(email_or_domain, strict=False)` | 如果电子邮件/域名是一次性的,则返回 `True` | | `is_valid(email_or_domain, strict=False)` | 如果电子邮件/域名**不是**一次性的,则返回 `True` | | `get_domains(strict=False)` | 返回包含所有已知一次性域名的完整 `frozenset` | | `domain_count(strict=False)` | 返回内置域名的数量 | ## 数据来源 域名列表源自 [disposable/disposable-email-domains](https://github.com/disposable/disposable-email-domains) 并在发布时内置。上游列表通过对 40 多个来源进行自动化抓取,每天进行更新。 本软件包每 4 小时检查一次上游更新,并在检测到更改时自动将新版本发布到 PyPI。 ## 许可证 MIT — 详见 [LICENSE](LICENSE)。
标签:API, Django, ESC4, MX记录, OSINT, pip, Python, 一次性邮箱, 临时邮箱, 反垃圾邮件, 反欺诈, 域名检测, 数据验证, 无后门, 注册风控, 灰名单, 电子邮件, 离线检测, 网络安全, 表单验证, 逆向工具, 邮箱域名, 邮箱过滤, 隐私保护, 黑名单