GitHunt
EM

Empact/validates_email_veracity_of

A plugin to validate submitted emails for format, which can also check that the domain exists.

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

Languages

Ruby100.0%

Contributors

MIT License
Created April 19, 2008
Updated April 29, 2024
Empact/validates_email_veracity_of | GitHunt