pross / disposable-email-domains
此软件包最新版本(1.3)的许可证信息不可用。
此仓库包含一组常用于注册虚假用户以垃圾邮件或滥用某些服务的可丢弃和临时电子邮件地址域名。
1.3
2016-12-14 13:15 UTC
This package is not auto-updated.
Last update: 2024-09-14 19:36:46 UTC
README
此仓库包含一组可丢弃和临时电子邮件地址域名,常用于注册虚假用户以垃圾邮件或滥用某些服务。
最初收集这些数据是为了过滤https://usegalaxy.org 的新用户注册,后来与其他在线找到的列表合并。我无法保证这些域名现在都可以被认为是可丢弃的,但它们在某个时刻可能曾是。
白名单
文件 whitelist.conf 收集了一些常被识别为可丢弃但实际上不是的电子邮件域名。
示例用法
Python
blacklist = ('disposable_email_blacklist.conf') blacklist_content = [line.rstrip() for line in blacklist.readlines()] if email.split('@')[1] in blacklist_content: message = "Please enter your permanent email address." return (False, message) else: return True
由于 @di 的贡献,作为 PyPI 模块 可用。
>>> from disposable_email_domains import blacklist
>>> 'bearsarefuzzy.com' in blacklist
True
PHP 由 @txt3rob 和 @deguif 贡献
function is_temp_mail($mail) { $mail_domains_ko = file('disposable_email_blacklist.conf', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); //Need to ensure the mail contains an @ to avoid undefined offset return in_array(explode('@', $mail)[1], $mail_domains_ko); }
Ruby on Rails 由 @MitsunChieh 贡献
在资源模型中,通常是在 user.rb
中。
before_validation :reject_email_blacklist def reject_email_blacklist blacklist = File.read('config/disposable_email_blacklist.conf').split("\n") if blacklist.include?(email.split('@')[1]) errors[:email] << 'invalid email' return false else return true end end
贡献
请自由创建带有添加内容或请求删除某些域(附上理由)的 PR。
使用
$ cat disposable_email_blacklist.conf your_file | tr '[:upper:]' '[:lower:]' | sort -f | uniq -i > new_file.conf
$ comm -23 new_file.conf whitelist.conf > disposable_email_blacklist.conf
以添加相同格式的另一个文件的内容(只有新行上的二级域名,不带 @)。它还转换为大写字母,排序,删除重复项并删除白名单中的域名。