Build Status


Add to your Gemfile:

gem 'email_validator'


bundle install

Then add the following to your model:

validates :my_email_attribute, :email => true

Strict mode

In order to have stricter validation (according to enable strict mode. You can do this globally by adding the following to your Gemfile:

gem 'email_validator', :require => 'email_validator/strict'

Or you can do this in a specific validates call:

validates :my_email_attribute, :email => {:strict_mode => true}

Validation outside a model

If you need to validate an email outside a model, you can get the regexp :

Normal mode

EmailValidator.regexp # returns the regex
EmailValidator.valid?('') # boolean

Strict mode

EmailValidator.regexp(:strict_mode => true)

Thread safety

This gem is thread safe, with one caveat: EmailValidator.default_options must be configured before use in a multi-threaded environment. If you configure default_options in a Rails initializer file, then you're good to go since initializers are run before worker threads are spawned.


Based on

Regular Expression based on tests.