email-validator(1)

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

SYNOPSIS
email-validator [-har] <input>

INPUT

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

OUTPUT

Valid email addresses will be written to stdout, one per line.

DESCRIPTION

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. NULLMX (RFC7505) records are not accepted. This is not required; in fact many domains accept mail via an A record for (say) example.com which is used in lieu of an MX record. This behavior can be controlled via the --accept-a flag, but note that --accept-a is ignored for domains that have NULLMX records.

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 +RTS -N25 < addresses.csv

OPTIONS

--accept-a, -a
    Accept an 'A' record for the domain instead of requiring an MX record (the default).

--rfc5322, -r
    Verify addresses against RFC 5322 rather than a naive regular expression. This is much more lenient than the default.

BUGS

Send bugs to michael@orlitzky.com.