Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lulalala/email_domain_validator
Validates whether the email domain can accept emails
https://github.com/lulalala/email_domain_validator
Last synced: 9 days ago
JSON representation
Validates whether the email domain can accept emails
- Host: GitHub
- URL: https://github.com/lulalala/email_domain_validator
- Owner: lulalala
- License: mit
- Created: 2015-01-21T03:55:57.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-01-27T11:51:05.000Z (almost 10 years ago)
- Last Synced: 2024-04-25T03:44:18.890Z (7 months ago)
- Language: Ruby
- Size: 117 KB
- Stars: 6
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# EmailDomainValidator
Email address's domain validator by checking presence of MX and A record.
Extra filters are available such as caching and whitelisting.
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'email_domain_validator'
```And then execute:
$ bundle
Or install it yourself as:
$ gem install email_domain_validator
## Usage
Validate email:
v = EmailDomainValidator.new
v.valid?('[email protected]')Add cache filter
v.add_filter(:rails_cache, expires_in: 12.hours)
v.valid?('[email protected]')
v.valid?('[email protected]') # same domain will not be checked again## Filters
### dummy
Always returns true. Useful for testing or development purposes.
v.add_filter(:dummy)
### rails_cache
Use Rails' caching capability to cache lookup results. Options used in Rails caching such as :expires_in can be used here.
v.add_filter(:rails_cache, expires_in: 12.hours, race_condition_ttl: 1)
### whitelist
Declare a whitelist of domains which will always be considered valid.
v.add_filter(:whitelist, ['yahoo.com.tw', 'gmail.com'])
## Contributing
1. Fork it ( https://github.com/lulalala/email_domain_validator/fork )
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 a new Pull Request