email-validator: Perform basic syntax and deliverability checks on email addresses.

[ agpl, program, utils ] [ Propose Tags ]

Validate an email address using three techniques:

  • Ensuring that the length of local and domain parts is within the RFC-specified limits.

  • A syntax check using a regular expression, or the full RFC 5322 grammar (see the --rfc5322 option).

  • Confirmation of the existence of an MX record for the domain part of the address. This is not required; in fact many domains accept mail via an A record for e.g. which is used in lieu of an MX record. This behavior can be controlled via the --accept-a flag.

These checks are performed in parallel using the number of available threads. To increase the number of threads, you can pass the appropriate flag to the GHC runtime.

This will set the number of threads to 25:

$ email-validator -i addresses.csv +RTS -N25


The input file (default: stdin) should be a list of email addresses, one per line. Empty lines will be ignored.


Valid email addresses will be written to the output file (default: stdout), one per line.


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 0.0.1, 0.0.2, 0.0.3, 1.0.0, 1.0.1, 1.8.7
Dependencies base (>=4 && <5), bytestring (>=0.10 && <0.11), cmdargs (>=0.10 && <0.11), directory (>=1.2 && <1.3), dns (>=1 && <2), email-validate (>=2 && <3), HUnit (>=1.2 && <1.3), parallel-io (>=0.3 && <0.4), pcre-light (>=0.4), tasty (>=0.8 && <0.9), tasty-hunit (>=0.8 && <0.9) [details]
License GPL-3.0-only
Author Michael Orlitzky
Maintainer Michael Orlitzky <>
Category Utils
Source repo head: git clone -b master
Uploaded by MichaelOrlitzky at 2014-03-15T19:17:51Z
Distributions NixOS:1.0.1
Reverse Dependencies 1 direct, 0 indirect [details]
Executables email-validator
Downloads 3296 total (32 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2015-05-19 [all 7 reports]