a list of disposable and temporary email address domains

Overview

List of disposable email domains

Licensed under CC0

This repo contains a list of disposable and temporary email address domains often used to register dummy users in order to spam or abuse some services.

We cannot guarantee all of these can still be considered disposable but we do basic checking so chances are they were disposable at one point in time.

Allowlist

The file allowlist.conf gathers email domains that are often identified as disposable but in fact are not.

Example Usage

Python

blocklist = ('disposable_email_blocklist.conf')
blocklist_content = [line.rstrip() for line in blocklist.readlines()]
if email.split('@')[1] in blocklist_content:
    message = "Please enter your permanent email address."
    return (False, message)
else:
    return True

Available as PyPI module thanks to @di

>>> from disposable_email_domains import blocklist
>>> 'bearsarefuzzy.com' in blocklist
True

PHP contributed by @txt3rob, @deguif, @pjebs and @Wruczek

  1. Make sure the passed email is valid. You can check that with filter_var
  2. Make sure you have the mbstring extension installed on your server
function isDisposableEmail($email, $blocklist_path = null) {
    if (!$blocklist_path) $blocklist_path = __DIR__ . '/disposable_email_blocklist.conf';
    $disposable_domains = file($blocklist_path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $domain = mb_strtolower(explode('@', trim($email))[1]);
    return in_array($domain, $disposable_domains);
}

Ruby on Rails contributed by @MitsunChieh

In the resource model, usually it is user.rb:

before_validation :reject_email_blocklist

def reject_email_blocklist
  blocklist = File.read('config/disposable_email_blocklist.conf').split("\n")

  if blocklist.include?(email.split('@')[1])
    errors[:email] << 'invalid email'
    return false
  else
    return true
  end
end

Alternatively you can use the disposable_mail gem: https://github.com/oesgalha/disposable_mail.

NodeJs contributed by @martin-fogelman

'use strict';

const readline = require('readline'),
  fs = require('fs');

const input = fs.createReadStream('./disposable_email_blocklist.conf'),
  output = [],
  rl = readline.createInterface({input});

// PROCESS LINES
rl.on('line', (line) => {
  console.log(`Processing line ${output.length}`);
  output.push(line);
});

// SAVE AS JSON
rl.on('close', () => {
  try {
    const json = JSON.stringify(output);
    fs.writeFile('disposable_email_blocklist.json', json, () => console.log('--- FINISHED ---'));
  } catch (e) {
    console.log(e);
  }
});

C#

private static readonly Lazy<HashSet<string>> _emailBlockList = new Lazy<HashSet<string>>(() =>
{
  var lines = File.ReadLines("disposable_email_blocklist.conf")
    .Where(line => !string.IsNullOrWhiteSpace(line) && !line.TrimStart().StartsWith("//"));
  return new HashSet<string>(lines, StringComparer.OrdinalIgnoreCase);
});

private static bool IsBlocklisted(string domain) => _emailBlockList.Value.Contains(domain);

...

var addr = new MailAddress(email);
if (IsBlocklisted(addr.Host)))
  throw new ApplicationException("Email is blocklisted.");

Contributing

Feel free to create PR with additions or request removal of some domain (with reasons).

Specifically, if adding more than one new domain, please cite in your PR where one can generate a disposable email address which uses that domain, so the maintainers can verify it.

Please add new disposable domains directly into disposable_email_blocklist.conf in the same format (only second level domains on new line without @), then run maintain.sh. The shell script will help you convert uppercase to lowercase, sort, remove duplicates and remove allowlisted domains.

Changelog

  • 2/11/21 We created a github org account and transferred the repository to it.

  • 4/18/19 @di joined as a core maintainer of this project. Thank you!

  • 7/31/17 @deguif joined as a core maintainer of this project. Thanks!

  • 12/6/16 - Available as PyPI module thanks to @di

  • 7/27/16 - Converted all domains to the second level. This means that starting from this commit the implementers should take care of matching the second level domain names properly i.e. @xxx.yyy.zzz should match yyy.zzz in blocklist more info in #46

Comments
  • False positives

    False positives

    < disposable_email_blacklist.conf xargs -n 1 host -t MX reveals that

    • there are domain with such MX-s as aspmx.l.google.com. (http://www.drevo.si/)
    • or parked domains (NS is ns1.dnparking.com.)
    • or have a new registrant (http://www.emil.com/)
    • or expired
    • or having no Mx at all

    Please advise.

    opened by szepeviktor 21
  • feat: adding more domains

    feat: adding more domains

    closes #280 #275 #257

    also: https://us.host-tools.com/email-checker-api/mannawo.com/dominio and: https://us.host-tools.com/email-checker-api/midiharmonica.com/dominio

    opened by russorat 9
  • Add new domains

    Add new domains

    Numerous spam registrations were noticed on our service with emails on the following domains:

    newmail.top
    imailt.com
    topmail2.net
    topmail2.com
    mail-now.top
    one-mail.top
    mailt.net
    mailt.top
    promailt.com
    mailapp.top
    
    opened by igRo 9
  • add emailbin.org

    add emailbin.org

    http://emailbin.org/

    From HackerNews forum

    emailbin.org is running on elasticsearch with a hideous frontend of pure raw html hahaha
    usecases:
    * email signups
    * posting of email threads to government
    * your ideas
    it is and will always be a free place to lay your emails to rest :-) 
    source code https://github.com/emailbin/web
    
    opened by mtmail 6
  • Added new disposable domains

    Added new disposable domains

    Started from PR number #95

    New domains taken from these repos:

    • https://github.com/ivolo/disposable-email-domains/
    • https://github.com/andreis/disposable
    opened by egorsmkv 6
  • update blacklist

    update blacklist

    If you are adding domains please state where one can generate a disposable email address which uses the added domains, so the maintainers can verify it. Without this information your PR will be closed.

    opened by zhangjiayin 5
  • Add new domains

    Add new domains

    New domains from this lists:

    • https://raw.githubusercontent.com/ivolo/disposable-email-domains/89db50a73d7e29c83f0e78b0f2b4757b3f4cec8e/index.json
    • https://raw.githubusercontent.com/andreis/disposable/6cceca83172b76c69337b52d9777bfaaf5aae580/domains.txt
    opened by egorsmkv 5
  • Update list

    Update list

    haydoo.com from here https://temp-mail.org/en/

    yordanmail.cf from here https://mytemp.email/

    mailna.co from here https://www.mohmal.com

    aoeuhtns.com from here https://www.emailondeck.com

    mvrht.net from here https://10minutemail.com/

    opened by ar-anvd 5
  • feat: domains from 2022-02-14

    feat: domains from 2022-02-14

    foreastate.com - https://www.mailcheck.ai/domain/foreastate.com - https://www.fakemail.net/ vixtricks.com - https://www.mailcheck.ai/domain/vixtricks.com - https://temp-mail.org/ - 164.90.252.249 sheryli.com - https://www.mailcheck.ai/domain/sheryli.com - https://temp-mail.org/ - 164.90.252.249 appzily.com - https://www.mailcheck.ai/domain/appzily.com - https://temp-mail.io/en/ cashflow35.com - https://www.mailcheck.ai/domain/cashflow35.com - https://temp-mail.io/en/

    cloud-mail.top - https://temp-mail.io/en/ mac-24.com - https://temp-mail.io/en/ thejoker5.com - https://temp-mail.io/en/ greencafe24.com - https://temp-mail.io/en/ crepeau12.com - https://temp-mail.io/en/ appzily.com - https://temp-mail.io/en/ coffeetimer24.com - https://temp-mail.io/en/ popcornfarm7.com - https://temp-mail.io/en/ bestparadize.com - https://temp-mail.io/en/ kjkszpjcompany.com - https://temp-mail.io/en/ cashflow35.com - https://temp-mail.io/en/ crossmailjet.com - https://temp-mail.io/en/ kobrandly.com - https://temp-mail.io/en/ blondemorkin.com - https://temp-mail.io/en/ block521.com - https://temp-mail.io/en/ best-john-boats.com - https://temp-mail.io/en/ popcornfly.com - https://temp-mail.io/en/

    opened by russorat 4
  • Add a shell script for maintaining disposable_email_blocklist.conf

    Add a shell script for maintaining disposable_email_blocklist.conf

    My system's localization settings are Chinese, I won't produce the same order as the repo list using cat disposable_email_blocklist.conf your_file | tr '[:upper:]' '[:lower:]' | sort -f | uniq -i > new_file.conf unless executing LC_ALL=C; export LC_ALL beforehand.

    image

    Signed-off-by: Hollow Man [email protected]

    opened by HollowMan6 4
  • Added additional disposable domain

    Added additional disposable domain

    Added tmmbt.net as domain. I just had a registration from this domain and checked it as a disposable 10 minute email provider.

    If you are adding domains please state where one can generate a disposable email address which uses the added domains, so the maintainers can verify it. Without this information your PR will be closed.

    opened by sdoering 0
  • Include a few extra temporary domains

    Include a few extra temporary domains

    I got those emails from https://tempmailo.com/

    If you are adding domains please state where one can generate a disposable email address which uses the added domains, so the maintainers can verify it. Without this information your PR will be closed.

    opened by derrix060 1
  • possible cooperation

    possible cooperation

    Hello, we are cyber security company and believe that site operators do also have right to know who is using disposable email... This is why we have started to watch over 100 disposable email providers with our dedicated technology. We are about to add some big fishes protected with cloudflare to the list. I have mentioned this list in the README (it will be updated tomorrow) as community effort to fight for site-owner rights... It sounds like ads but it is really a call to cooperate with our fully automated source of information at https://github.com/7c/fakefilter

    We are open for cooperation to be more powerful together. Any kind of suggestions are welcome too.

    opened by 7c 7
Owner
null
Lazy airdrop based on private temporary ids

LobsterDAO This uses a modified MerkleDistributor, which allows to issue a lazy airdrop using temporary IDs. In this example it uses Telegram chat_id

null 41 Sep 10, 2022
Shellkg-py - A temporary Repository to rewrite of shellpkg in python

Shellkg-py - A temporary Repository to rewrite of shellpkg in python

null 2 Jan 26, 2022
Image captioning service for healthcare domains in Vietnamese using VLP

Image captioning service for healthcare domains in Vietnamese using VLP This service is a web service that provides image captioning services for heal

CS-UIT AI Club 2 Nov 4, 2021
Simple tool to gather domains from crt.sh using the organization name

Domain Collector: _ _ ___ _ _ _ __| | ___ _ __ ___ __ _(_)_ __ / __\___ | |

Cyber Guy 63 Dec 24, 2022
Python linting made easy. Also a casual yet honorific way to address individuals who have entered an organization prior to you.

pysen What is pysen? pysen aims to provide a unified platform to configure and run day-to-day development tools. We envision the following scenarios i

Preferred Networks, Inc. 452 Jan 5, 2023
Search twitter by address.

Twitter Geolocate Twitter Geolocation is a console app that generates twitter search querries for a certain geolocation and opens them in your standar

David J. Kowalk 28 Dec 6, 2022
Fast IP address lookup

ipscoop Fast IP Scoop Table of Contents Installation CLI Getting Started Ref Installation To install ipscoop, simply: $ python3 -m pip install -U git+

null 6 Mar 16, 2022
Work with the AWS IP address ranges in native Python.

Amazon Web Services (AWS) publishes its current IP address ranges in JSON format. Python v3 provides an ipaddress module in the standard library that allows you to create, manipulate, and perform operations on IPv4 and IPv6 addresses and networks. Wouldn't it be nice if you could work with the AWS IP address ranges like native Python objects?

AWS Samples 9 Aug 25, 2022
an API to check if a url or IP address is safe or phishing

an API to check if a url or IP address is safe or phishing. Using a ML model. The API created using FastAPI.

Adel Dahani 1 Feb 16, 2022
OSINT tool to get information from a Github and Gitlab profile and find user's email addresses leaked on commits.

gitrecon OSINT tool to get information from a Github or Gitlab profile and find user's email addresses leaked on commits. ?? How does this work? GitHu

GOΠZO 211 Dec 17, 2022
Short Program using Transavia's API to notify via email an user waiting for a flight at special dates and with the best price

Flight-Notifier Short Program using Transavia's API to notify via email an user waiting for a flight at special dates and with the best price Algorith

Wassim 2 Apr 10, 2022
AWS Lambda - Parsing Cloudwatch Data and sending the response via email.

AWS Lambda - Parsing Cloudwatch Data and sending the response via email. Author: Evan Erickson Language: Python Backend: AWS / Serverless / AWS Lambda

Evan Scott Erickson 1 Nov 14, 2021
Periodically check the manuscript state in the scholar one system and send email when finding a new state.

ScholarOne-manuscript-checker Periodically check the manuscript state in the scholar one system and send email when finding a new state. Parameters ne

null 2 Aug 18, 2022
An Advance Discord Generator Written in python Verified Email and Phone Number For Free!

Intro An Advance Discord Generator Written in python It can generate nearly fully verified tokens USAGE put server invite code inside ( invitecode = "

null 36 May 2, 2022
A tiktok mass account creator with undetected selenium and email verification, to bot an account

⚠️ STILL UNDER DEVELOPEMENT - v1.1-beta ⚠️ Adding PROXY ROTATION Adding EMAIL VERIFICATION Adding USERNAME COMPILER Tiktok Mass Bot Creator v1.1-beta

xtekky 11 Aug 1, 2022
Get Notified about vaccine availability in your location on email & sms ✉️! Vaccinator Octocat tracks & sends personalised vaccine info everday. Go get your shot ! 💉

Vaccinater Get Notified about vaccine availability in your location on email & sms ✉️ ! Vaccinator Octocat tracks & sends personalised vaccine info ev

Mayukh Pankaj 6 Apr 28, 2022
This bot will send you an email or notify you via telegram & discord if dolar/lira parity breaks a record.

Dolar Rekor Kırdı Mı? This bot will send you an email or notify you via Telegram & Discord if Dolar/Lira parity breaks a record. Mailgun can be used a

Yiğit Göktuğ Budanur 2 Oct 14, 2021
A simple Facebook Account generator, written in python (needs different Email so Accounts do not get banned)

FacebookAccountGenerator FAB is a Facebook-Account generating script, written in python Installation Use the package manager pip to install selenium p

MrOverload 7 Jan 5, 2023