Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Gem Version

Email Verifier

Helper validation utility for checking if given email address is real.

Many times as developers we were putting validation statements for checking email addresses format. This gem will complete your existing setups with validator that actually connects with a given mail server and asks if the address in question exists for real.

It also:

  • supports Heroku
  • supports localization


Add this line to your application's Gemfile:

# place it at the bottom of rails/activesupport if you're working with them.
gem 'email_verifier'

And then execute:

$ bundle

Or install it yourself as:

$ gem install email_verifier


To get info about realness of given email address, email_verifier connects with a mail server that email's domain points to and pretends to send an email. Some smtp servers will not allow you to do this if you will not present yourself as a real user.

First thing you need to set up is placing something like this either in initializer or in application.rb file:

EmailVerifier.config do |config|
  config.verifier_email = ""

Then just put this in your model e. g:

validates_email_realness_of :email

Or - if you'd like to use it outside of your models:


This method will return true or false, or will throw an exception with nicely detailed info about what's wrong.

Important: problems when using locally

When you're trying to use it from an IP that a server either cannot reach or trust (in any way) - then it returns 421 service not available (connection refused, too many connections) instead of letting you connect. Because of this you should most probably always be using it on a machine that the other SMTP server can reach.

Disabling on Test

If you are using Rails in test environment, the check will always succeed, so that your CI servers will not try to contact SMTP servers. You can change that behavior in the configuration block:

EmailVerifier.config do |config|
  config.test_mode = Rails.env.test?

Customizing messages

Add these lines to your locale file in config/locales:

        email_not_real: must point to a real mail account
        out_of_mail_server: appears to point to dead mail server
        no_mail_server: appears to point to domain which doesn't handle e-mail
        failure: could not be checked if is real
        exception: could not be sent


Email Verifier is maintained and funded by the End Point Corporation

Please send questions to


Contributing yourself

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request


Helper validation utility for checking if given email address is real.




No packages published


You can’t perform that action at this time.