+cabal-version: 3.0
name: email-validator
-version: 1.0.0
-cabal-version: >= 1.8
+version: 1.1.0
author: Michael Orlitzky
maintainer: Michael Orlitzky <michael@orlitzky.com>
-homepage: http://michael.orlitzky.com/code/email-validator.xhtml
+homepage: https://michael.orlitzky.com/code/email-validator.xhtml
+bug-reports: mailto:michael@orlitzky.com
category: Utils
-license: AGPL-3
+license: AGPL-3.0-or-later
license-file: doc/LICENSE
build-type: Simple
extra-source-files:
+ doc/COPYING
doc/man1/email-validator.1
synopsis:
Perform basic syntax and deliverability checks on email addresses.
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.
+ grammar.
+ * Confirmation of valid @MX@ records (or, optionally, @A@
+ records) for the domain.
+
+ A complete description, options, and examples can be found in the
+ man page.
executable email-validator
build-depends:
- base < 5,
+ base >= 4.15 && < 5,
bytestring >= 0.10,
cmdargs >= 0.10,
dns >= 2,
tasty >= 0.8,
tasty-hunit >= 0.8
+ default-language:
+ Haskell2010
+
main-is:
Main.hs
EmailAddress
Paths_email_validator
- ghc-options:
- -Weverything
- -Wno-implicit-prelude
- -Wno-safe
- -Wno-unsafe
- -Wno-all-missed-specialisations
- -rtsopts
- -threaded
- -optc-O3
- -optc-march=native
- -O2
+ autogen-modules:
+ Paths_email_validator
test-suite testsuite
type: exitcode-stdio-1.0
hs-source-dirs: src test
+ default-language: Haskell2010
main-is: TestSuite.hs
build-depends:
- base < 5,
+ base >= 4.15 && < 5,
bytestring >= 0.10,
- cmdargs >= 0.10,
- dns >= 2,
email-validate >= 2,
HUnit >= 1.2,
- parallel-io >= 0.3,
pcre-light >= 0.4,
tasty >= 0.8,
tasty-hunit >= 0.8
other-modules:
EmailAddress
- -- It's not entirely clear to me why I have to reproduce all of this.
- ghc-options:
- -Weverything
- -Wno-implicit-prelude
- -Wno-safe
- -Wno-unsafe
- -Wno-all-missed-specialisations
- -rtsopts
- -threaded
- -optc-O3
- -optc-march=native
- -O2
-
test-suite doctests
type: exitcode-stdio-1.0
hs-source-dirs: test
+ default-language: Haskell2010
main-is: Doctests.hs
build-depends:
- base < 5,
+ base >= 4.15 && < 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://gitweb.michael.orlitzky.com/email-validator.git
+ location: https://gitweb.michael.orlitzky.com/email-validator.git
branch: master