No release in over 3 years
A library to validate email addresses and check domain validity to prevent mail server reputation degradation
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 13.0
~> 3.0
~> 1.0

Runtime

 Project Readme

EmailDomainChecker

Email address validation and domain checking library to prevent mail server reputation degradation.

Installation

Add this line to your application's Gemfile:

gem 'email_domain_checker'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install email_domain_checker

Quick Start

require 'email_domain_checker'

# Quick validation
EmailDomainChecker.valid?("user@example.com", validate_domain: false) # => true

# Domain validation with MX records
EmailDomainChecker.domain_valid?("user@example.com", check_mx: true) # => true/false

# Normalize email
EmailDomainChecker.normalize("User@Example.COM") # => "user@example.com"

Documentation

📖 Full Documentation - Complete usage guide, API reference, and examples

Features

  • ✅ Email format validation
  • ✅ Domain existence validation
  • ✅ MX record checking
  • ✅ A record checking
  • ✅ Email normalization
  • ✅ ActiveModel/ActiveRecord integration
  • ✅ DNS result caching (memory and Redis)
  • ✅ Test mode for development
  • ✅ Role-based email address detection

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.

Building Documentation Locally

To build and preview the documentation locally:

# Install Python dependencies
pip install -r requirements.txt

# Start development server (with live reload)
mkdocs serve

# Build static site
mkdocs build

The documentation will be available at http://127.0.0.1:8000 when using mkdocs serve. The built files will be in the site/ directory when using mkdocs build.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/tatematsu-k/email_domain_checker.

License

The gem is available as open source under the terms of the MIT License.