name: email-validator
-version: 0.0.1
+version: 0.0.2
cabal-version: >= 1.8
author: Michael Orlitzky
maintainer: Michael Orlitzky <michael@orlitzky.com>
+category: Utils
+license: GPL-3
+license-file: doc/LICENSE
+build-type: Simple
+extra-source-files:
+ doc/man1/email-validator.1
synopsis:
Perform basic syntax and deliverability checks on email addresses.
-build-type: Simple
+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. This is not required; in fact many domains accept mail
+ via an @A@ record for e.g. example.com 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
+ @
+ .
+ /Input/
+ .
+ The @input@ file (default: stdin) should be a list of email addresses,
+ one per line. Empty lines will be ignored.
+ .
+ /Output/
+ .
+ Valid email addresses will be written to the output file (default:
+ stdout), one per line.
-executable email_validator
+executable email-validator
build-depends:
base == 4.*,
- dns == 0.3.*,
+ bytestring == 0.10.*,
+ cmdargs == 0.10.*,
+ directory == 1.2.*,
+ dns == 1.*,
+ email-validate == 1.*,
HUnit == 1.2.*,
- QuickCheck == 2.6.*,
- regex-pcre == 0.94.*,
+ parallel-io == 0.3.*,
+ pcre-light >= 0.4,
test-framework == 0.8.*,
- test-framework-hunit == 0.3.*,
- test-framework-quickcheck2 == 0.3.*,
- utf8-string == 0.3.*
+ test-framework-hunit == 0.3.*
main-is:
Main.hs
hs-source-dirs:
src/
+ other-modules:
+ CommandLine
+ EmailAddress
+ ExitCodes
+
ghc-options:
-Wall
-fwarn-hi-shadowing
-fwarn-incomplete-record-updates
-fwarn-monomorphism-restriction
-fwarn-unused-do-bind
- -funbox-strict-fields
- -fexcess-precision
- -fno-spec-constr-count
-rtsopts
-threaded
-optc-O3
main-is: TestSuite.hs
build-depends:
base == 4.*,
- dns == 0.3.*,
+ bytestring == 0.10.*,
+ cmdargs == 0.10.*,
+ directory == 1.2.*,
+ dns == 1.*,
+ email-validate == 1.*,
HUnit == 1.2.*,
- QuickCheck == 2.6.*,
- regex-pcre == 0.94.*,
+ parallel-io == 0.3.*,
+ pcre-light >= 0.4,
test-framework == 0.8.*,
- test-framework-hunit == 0.3.*,
- test-framework-quickcheck2 == 0.3.*,
- utf8-string == 0.3.*
+ test-framework-hunit == 0.3.*
-- It's not entirely clear to me why I have to reproduce all of this.
ghc-options:
-fwarn-incomplete-record-updates
-fwarn-monomorphism-restriction
-fwarn-unused-do-bind
- -funbox-strict-fields
- -fexcess-precision
- -fno-spec-constr-count
-rtsopts
-threaded
-optc-O3