0.0
No release in over 3 years
Low commit activity in last 3 years
DB of burner email domains. Use as one of the steps in your email validations.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 13
~> 3.10, > 3.6
 Project Readme

Burner email DB

Gem Version Build Status

A very long list (119 261) of burner email domains, packaged for Ruby gems.

Sourse

Copied with much respect from

Installation

Add this line to your application's Gemfile:

gem "burner_email_db"

Usage

Just list everything

BurnerEmailDB.domains #=> ["0-00.usa.cc", "0-180.com", ...]

ActiveModel validation

class User
  validates :email, exclusion: { in: BurnerEmailDB.domains }
end

ActiveModel validator

You could write a validator:

class BurnerEmailValidator < ActiveModel::EachValidator

  def validate_each(record, attribute_name, address)
    return if address.blank? # validate presence separately
    record.errors.add attribute_name, :disposable_email if disposable?(address)
  end

  private def disposable?(address_with_unknown_case)
    address = address_with_unknown_case.downcase
    BurnerEmailDB.domains.any? { |burner_domain| address.include? burner_domain }
  end

end

Add translations:

---
ru:
  errors:
    messages:
      disposable_email: в сервисе одноразовых email-адресов

and then use it like so:

class User
  validates :email, presence: true, burner_email: true
end

Dry validation

WIP, I promise, Piotr!

Alternatives

How to add new

  1. Copy the new domains into a file ./new-domains.txt
  2. Run ruby add.rb