name: email-validator
-version: 0.0.1
+version: 1.0.0
cabal-version: >= 1.8
author: Michael Orlitzky
maintainer: Michael Orlitzky <michael@orlitzky.com>
+homepage: http://michael.orlitzky.com/code/email-validator.xhtml
+category: Utils
+license: AGPL-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 +RTS -N25 < addresses.csv
+ @
+ .
+ /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.
-executable email_validator
+executable email-validator
build-depends:
- base == 4.*,
- bytestring == 0.10.*,
- dns == 0.3.*,
- HUnit == 1.2.*,
- parallel-io == 0.3.*,
- QuickCheck == 2.6.*,
+ base < 5,
+ bytestring >= 0.10,
+ cmdargs >= 0.10,
+ dns >= 2,
+ email-validate >= 2,
+ HUnit >= 1.2,
+ 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.*
+ tasty >= 0.8,
+ tasty-hunit >= 0.8
main-is:
Main.hs
hs-source-dirs:
src/
- ghc-options:
- -Wall
- -fwarn-hi-shadowing
- -fwarn-missing-signatures
- -fwarn-name-shadowing
- -fwarn-orphans
- -fwarn-type-defaults
- -fwarn-tabs
- -fwarn-incomplete-record-updates
- -fwarn-monomorphism-restriction
- -fwarn-unused-do-bind
- -rtsopts
- -threaded
- -optc-O3
- -optc-march=native
- -O2
-
- ghc-prof-options:
- -prof
- -auto-all
- -caf-all
+ other-modules:
+ CommandLine
+ EmailAddress
+ Paths_email_validator
test-suite testsuite
type: exitcode-stdio-1.0
hs-source-dirs: src test
main-is: TestSuite.hs
+
build-depends:
- base == 4.*,
- bytestring == 0.10.*,
- dns == 0.3.*,
- HUnit == 1.2.*,
- parallel-io == 0.3.*,
- QuickCheck == 2.6.*,
+ base < 5,
+ bytestring >= 0.10,
+ email-validate >= 2,
+ HUnit >= 1.2,
pcre-light >= 0.4,
- test-framework == 0.8.*,
- test-framework-hunit == 0.3.*,
- test-framework-quickcheck2 == 0.3.*,
- utf8-string == 0.3.*
+ tasty >= 0.8,
+ tasty-hunit >= 0.8
+
+ other-modules:
+ EmailAddress
+
+
+test-suite doctests
+ type: exitcode-stdio-1.0
+ hs-source-dirs: test
+ main-is: Doctests.hs
+ build-depends:
+ base < 5,
+ -- Additional test dependencies.
+ doctest >= 0.9
- -- It's not entirely clear to me why I have to reproduce all of this.
- ghc-options:
- -Wall
- -fwarn-hi-shadowing
- -fwarn-missing-signatures
- -fwarn-name-shadowing
- -fwarn-orphans
- -fwarn-type-defaults
- -fwarn-tabs
- -fwarn-incomplete-record-updates
- -fwarn-monomorphism-restriction
- -fwarn-unused-do-bind
- -rtsopts
- -threaded
- -optc-O3
- -optc-march=native
- -O2
source-repository head
type: git
- location: http://michael.orlitzky.com/git/email-validator.git
+ location: http://gitweb.michael.orlitzky.com/email-validator.git
branch: master