Validates Email Veracity Of
= Validates Email Veracity Of
Author:: Carsten Nielsen (mailto:carsten.nielsen@savvica.com)
License:: MIT
Type:: Rails Validation Plugin
Validates the form of an email address and verifies it’s domain by checking if there are any
mail exchange or address servers associated with it.
=== Options
- message
– Changes the default error message.
- domain_check
– Skips server lookup unless true.
- timeout
– Time (in seconds) before the domain lookup is skipped. Default is 2.
- fail_on_timeout
– Causes validation to fail if a timeout occurs.
- timeout_message
– Changes the default timeout error message.
- mx_only
– When set, only mail exchange servers (MX) are looked up and the address server (A)
lookup is skipped.
- invalid_domains
– An array of domain names that are not to be used. Useful for stuff like dodgeit.com
and other services.
- invalid_domain_message
– Changes the default invalid domain error message.
=== Examples
- validates_email_veracity_of :email, :message => ‘is not correct.’
– Changes the default error message from ‘is invalid.’ to ‘is not correct.’
- validates_email_veracity_of :email, :domain_check => false
– Domain lookup is skipped.
- validates_email_veracity_of :email, :timeout => 0.5
– Causes the domain lookup to timeout if it does not complete within half a second.
- validates_email_veracity_of :email, :fail_on_timeout => true, :timeout_message => ‘is invalid.’
– Causes the validation to fail on timeout and changes the error message to ‘is invalid.’
to obfuscate it.
- validates_email_veracity_of :email, :mx_only => true
– The validator will only check the domain for mail exchange (MX) servers, ignoring address
servers (A) records.
- validates_email_veracity_of :email, :invalid_domains => %w[dodgeit.com harvard.edu]
– Any email addresses @dodgeit.com or @harvard.edu will be rejected.
=== Notes
- You will need to be connected to the internet to utilize the remote features of the plugin
and to properly run the tests.
- To run the tests type rake test in the console from the plugin’s root directory.
- The Resolv library has been known to screw up internally with a nil.include? error if
your domain resolver is ill-configured or out of service.
NOTE: This description has been extracted from the Plugin README and so the formatting may need updating to make browser friendly