= 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.