Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Free Email Providers

A comprehensive list of free email providers and domains for validation and filtering

npm version GitHub license GitHub stars

Overview

  • Filter free email providers during user registration
  • Implement business email validation
  • Enhance spam prevention systems
  • Complement disposable email detection

Statistics

  • Total Domains: 96,748
  • JSON Format: 96,748 entries
  • Text Format: Raw domain list
  • Regular Updates: Monthly maintenance and community contributions

Available Formats

JSON Format

The free-email-providers.json file contains an array of domain strings with 96,748 entries.

Usage Example:

const providers = require('./free-email-providers.json');
console.log(`Total domains: ${providers.length}`);

Source Data

The project maintains source data that gets processed into the final JSON format through an automated build script that handles deduplication and sorting.

Quick Start

Node.js

const freeEmailProviders = require('@emailcheck/free-email-providers');

function isFreeEmail(email) {
  const domain = email.split('@')[1]?.toLowerCase();
  return freeEmailProviders.includes(domain);
}

// Examples
console.log(isFreeEmail('user@gmail.com')); // true
console.log(isFreeEmail('user@company.com')); // false

Python

import json
import re

with open('free-email-providers.json', 'r') as f:
    providers = json.load(f)

def is_free_email(email):
    domain = email.split('@')[1].lower() if '@' in email else ''
    return domain in providers

# Examples
print(is_free_email('user@gmail.com'))  # True
print(is_free_email('user@company.com'))  # False

Integration Examples

Regex Pattern

const providers = require('@emailcheck/free-email-providers');
const escapedDomains = providers.map(domain => domain.replace(/\./g, '\\.'));
const freeEmailPattern = new RegExp(`@(${escapedDomains.join('|')})$`, 'i');

function isFreeEmail(email) {
  return freeEmailPattern.test(email);
}

Form Validation

document.getElementById('email').addEventListener('blur', function(e) {
  const email = e.target.value;
  if (isFreeEmail(email)) {
    showError('Please use a business email address');
  }
});

Server-side Validation (Express.js)

const express = require('express');
const providers = require('@emailcheck/free-email-providers');

const app = express();

app.post('/register', (req, res) => {
  const { email } = req.body;
  const domain = email.split('@')[1]?.toLowerCase();

  if (providers.includes(domain)) {
    return res.status(400).json({ error: 'Free email providers are not allowed' });
  }

  // Continue with registration
});

Maintenance

  • Daily Monitoring: Automated checks for provider availability
  • Monthly Updates: Manual review and new provider additions
  • Community Contributions: Pull requests reviewed and merged
  • Quality Assurance: Automated duplicate removal and domain validation
  • Source Aggregation: Multiple reputable sources combined
  • Build Process: Automated script processes and consolidates data from multiple sources

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add your changes to the source files
  4. Run the build script to process and deduplicate the data
  5. Submit a pull request with a clear description

Important Notes

  • Active Providers Only: List contains only currently active free email services
  • Regular Updates: Providers are verified monthly for availability
  • Comprehensive Coverage: Includes webmail, temporary, and regional providers
  • Automated Processing: All entries are deduplicated and sorted alphabetically via build script
  • Performance Optimized: JSON format for efficient parsing and lookup
  • Quality Assured: Multi-source aggregation with automated validation

Related Projects

Support


Made with ❤️ by Email Check App

If you find this useful, please give us a ⭐ on GitHub!

Releases

Contributors