module DNS ( lookup_mxs ) where import Network.DNS ( Domain, defaultResolvConf, lookupMX, makeResolvSeed, withResolver ) -- | Retrieve all MX records for the given domain. This is somewhat -- inefficient, since we create the resolver every time. -- lookup_mxs :: Domain -> IO [Domain] lookup_mxs domain = do default_rs <- makeResolvSeed defaultResolvConf withResolver default_rs $ \resolver -> do mxs <- lookupMX resolver domain return $ case mxs of Left _ -> [] Right pairs -> map fst pairs