4 email-validator \- Perform basic syntax and deliverability checks on email addresses.
8 \fBemail-validator\fR [\fB\-har\fR] \fI<input>\fR
13 The \fIinput\fR (via stdin) should be a list of email addresses,
14 one per line. Empty lines will be ignored.
19 Valid email addresses will be written to stdout, one per line.
24 Validate an email address using three techniques:
27 Ensuring that the length of local and domain parts is within the
31 A syntax check using a regular expression, or the full RFC 5322
32 grammar (see the \fB\-\-rfc5322\fR option).
35 Confirmation of the existence of an \fIMX\fR record for the domain
36 part of the address. NULLMX (RFC7505) records are not accepted. This
37 is not required; in fact many domains accept mail via an \fIA\fR
38 record for (say) example.com which is used in lieu of an \fIMX\fR
39 record. This behavior can be controlled via the \fR\-\-accept\-a\fR
40 flag, but note that \fR\-\-accept\-a\fR is ignored for domains that
44 These checks are performed in parallel using the number of available
45 threads. To increase the number of threads, you can pass the
46 appropriate flag to the GHC runtime.
49 This will set the number of threads to 25:
52 .B $ email-validator +RTS -N25 < addresses.csv
56 .IP \fB\-\-accept-a\fR,\ \fB\-a\fR
57 Accept an 'A' record for the domain instead of requiring an MX record
60 .IP \fB\-\-rfc5322\fR,\ \fB\-r\fR
61 Verify addresses against RFC 5322 rather than a naive regular
62 expression. This is much more lenient than the default.
67 Send bugs to michael@orlitzky.com.