]> gitweb.michael.orlitzky.com - email-validator.git/blobdiff - src/Main.hs
Add an --rfc5322 option which validates against the real RFC syntax.
[email-validator.git] / src / Main.hs
index fc1b1b18eba02c44d549de693cc8f3d65fd6ea1e..b7316b75b5afd04d4e28cef3b8a8271cebf1fc9e 100644 (file)
@@ -74,9 +74,9 @@ validate_a resolver domain
 -- | Validate an email address by doing some simple syntax checks and
 --   (if those fail) an MX lookup. We don't count an A record as a mail
 --   exchanger.
-validate :: Resolver -> Bool -> Address -> IO (Address, Bool)
-validate resolver accept_a address = do
-  let valid_syntax = validate_syntax address
+validate :: Resolver -> Bool -> Bool -> Address -> IO (Address, Bool)
+validate resolver accept_a rfc5322 address = do
+  let valid_syntax = validate_syntax rfc5322 address
   if valid_syntax then do
     let (_,domain) = parts address
     mx_result <- validate_mx resolver domain
@@ -130,7 +130,8 @@ main = do
   rs <- makeResolvSeed resolv_conf
   withResolver rs $ \resolver -> do
     -- Construst a list of [IO (Address, Bool)]
-    let actions = map (validate resolver accept_a) nonempty_addresses
+    let validate' = validate resolver accept_a rfc5322
+    let actions = map validate' nonempty_addresses
     -- And compute them in parallel.
     results <- parallel actions
     stopGlobalPool