]> gitweb.michael.orlitzky.com - email-validator.git/blob - email-validator.cabal
doc,email-validator: document the new NULLMX handling
[email-validator.git] / email-validator.cabal
1 cabal-version: 3.0
2 name: email-validator
3 version: 1.0.1
4 author: Michael Orlitzky
5 maintainer: Michael Orlitzky <michael@orlitzky.com>
6 homepage: https://michael.orlitzky.com/code/email-validator.xhtml
7 bug-reports: mailto:michael@orlitzky.com
8 category: Utils
9 license: AGPL-3.0-or-later
10 license-file: doc/LICENSE
11 build-type: Simple
12 extra-source-files:
13 doc/COPYING
14 doc/man1/email-validator.1
15 synopsis:
16 Perform basic syntax and deliverability checks on email addresses.
17 description:
18 Validate an email address using three techniques:
19
20 * Ensuring that the length of local and domain parts is within the
21 RFC-specified limits.
22
23 * A syntax check using a regular expression, or the full RFC 5322
24 grammar (see the @--rfc5322@ option).
25
26 * Confirmation of the existence of an @MX@ record for the domain
27 part of the address. NULLMX (RFC7505) records are not
28 accepted. This is not required; in fact many domains accept mail
29 via an @A@ record for (say) example.com which is used in lieu of
30 an @MX@ record. This behavior can be controlled via the
31 @--accept-a@ flag, but note that @--accept-a@ is ignored for
32 domains that have NULLMX records.
33
34 These checks are performed in parallel using the number of available
35 threads. To increase the number of threads, you can pass the
36 appropriate flag to the GHC runtime.
37
38 This will set the number of threads to 25:
39
40 @
41 $ email-validator +RTS -N25 < addresses.csv
42 @
43
44 /Input/
45
46 The @input@ (via stdin) should be a list of email addresses,
47 one per line. Empty lines will be ignored.
48
49 /Output/
50
51 Valid email addresses will be written to stdout, one per line.
52
53
54 executable email-validator
55 build-depends:
56 base >= 4.15 && < 5,
57 bytestring >= 0.10,
58 cmdargs >= 0.10,
59 dns >= 2,
60 email-validate >= 2,
61 HUnit >= 1.2,
62 parallel-io >= 0.3,
63 pcre-light >= 0.4,
64 tasty >= 0.8,
65 tasty-hunit >= 0.8
66
67 default-language:
68 Haskell2010
69
70 main-is:
71 Main.hs
72
73 hs-source-dirs:
74 src/
75
76 other-modules:
77 CommandLine
78 EmailAddress
79 Paths_email_validator
80
81 autogen-modules:
82 Paths_email_validator
83
84
85 test-suite testsuite
86 type: exitcode-stdio-1.0
87 hs-source-dirs: src test
88 default-language: Haskell2010
89 main-is: TestSuite.hs
90
91 build-depends:
92 base >= 4.15 && < 5,
93 bytestring >= 0.10,
94 email-validate >= 2,
95 HUnit >= 1.2,
96 pcre-light >= 0.4,
97 tasty >= 0.8,
98 tasty-hunit >= 0.8
99
100 other-modules:
101 EmailAddress
102
103
104 test-suite doctests
105 type: exitcode-stdio-1.0
106 hs-source-dirs: test
107 default-language: Haskell2010
108 main-is: Doctests.hs
109 build-depends:
110 base >= 4.15 && < 5,
111 -- Additional test dependencies.
112 doctest >= 0.9
113
114
115 source-repository head
116 type: git
117 location: https://gitweb.michael.orlitzky.com/email-validator.git
118 branch: master