Module: Philiprehberger::EmailValidator::Disposable
- Defined in:
- lib/philiprehberger/email_validator/disposable.rb
Overview
Disposable (throwaway) email domain detection.
Maintains a built-in list of commonly used disposable email providers. Useful for preventing sign-ups with temporary email addresses.
Constant Summary collapse
- DOMAINS =
Built-in list of common disposable email domains.
Set.new(%w[ mailinator.com guerrillamail.com guerrillamail.de guerrillamail.net guerrillamail.org tempmail.com temp-mail.org throwaway.email sharklasers.com guerrillamailblock.com grr.la dispostable.com yopmail.com yopmail.fr trashmail.com trashmail.me trashmail.net mailnesia.com maildrop.cc discard.email mailcatch.com fakeinbox.com mailnull.com tempail.com tempr.email einrot.com getnada.com jetable.org mohmal.com burpcollaborator.net mailsac.com harakirimail.com tmail.ws guerrillamail.info mytemp.email tempmailaddress.com mailforspam.com safetymail.info trashymail.com mailexpire.com tempinbox.com spamgourmet.com mintemail.com mailzilla.com anonbox.net binkmail.com bobmail.info chammy.info deadaddress.com despammed.com devnullmail.com dontreg.com e4ward.com emailigo.de ]).freeze
Class Method Summary collapse
-
.disposable?(email) ⇒ Boolean
Check if an email address uses a known disposable domain.
-
.domain_disposable?(domain) ⇒ Boolean
Check if a domain is in the disposable list.
Class Method Details
.disposable?(email) ⇒ Boolean
Check if an email address uses a known disposable domain.
73 74 75 76 77 78 79 80 |
# File 'lib/philiprehberger/email_validator/disposable.rb', line 73 def disposable?(email) return false unless email.is_a?(String) domain = extract_domain(email) return false if domain.nil? effective_domains.include?(domain.downcase) end |
.domain_disposable?(domain) ⇒ Boolean
Check if a domain is in the disposable list.
86 87 88 89 90 |
# File 'lib/philiprehberger/email_validator/disposable.rb', line 86 def domain_disposable?(domain) return false unless domain.is_a?(String) effective_domains.include?(domain.strip.downcase) end |