RailsEmailChecker
ActiveModel email validation. Checks MX records, sub address, regex, whitelisted and blacklisted check
Installation
Add this line to your application's Gemfile:
gem 'rails_email_checker'
And then execute:
$ bundle
Or install it yourself as:
$ gem install rails_email_checker
Usage
Use with ActiveModel
To validate that the domain has a good format (regex):
class User < ActiveRecord::Base
validates_email :email, formatted: true
end
To validate that the domain is not blacklisted:
class User < ActiveRecord::Base
validates_email :email, blacklisted: true
end
To validate that the domain has a MX record:
class User < ActiveRecord::Base
validates_email :email, recorded: true
end
To validate that email is not sub addressed:
class User < ActiveRecord::Base
validates_email :email, no_sub_addressed: true
end
OR
Use like that
class User < ActiveRecord::Base
validates :email, email: { no_sub_addressed: true, recorded: true, blacklisted: true }
end
Use without ActiveModel
address = RailsEmailChecker.address('test@gmail.com')
address.formatted?
address.sub_addressed?
address.recorded?
address.whitelisted?
address.blacklisted?
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/OpenGems/rails_email_checker. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.