From 8e720030d1fb6d9a9bc78c9c27858b06d6188255 Mon Sep 17 00:00:00 2001 From: calvin Date: Mon, 28 Mar 2005 14:59:17 +0000 Subject: [PATCH] check A RR records when no MX RR record could be found git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@2461 e7d03fd6-7b0d-0410-9947-9c21f3af8025 --- linkcheck/checker/mailtourl.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/linkcheck/checker/mailtourl.py b/linkcheck/checker/mailtourl.py index 1cf3a1a9..7f4203ed 100644 --- a/linkcheck/checker/mailtourl.py +++ b/linkcheck/checker/mailtourl.py @@ -153,13 +153,21 @@ class MailtoUrl (urlbase.UrlBase): if len(answers) == 0: self.add_warning(_("No MX mail host for %(domain)s found.") % \ {'domain': domain}) - return - # sort according to preference (lower preference means this - # host should be preferred - mxdata = [(rdata.preference, - rdata.exchange.to_text(omit_final_dot=True)) - for rdata in answers] - mxdata.sort() + answers = linkcheck.dns.resolver.query(domain, 'A') + if len(answers) == 0: + self.set_result(_("No host for %(domain)s found.") % \ + {'domain': domain}, valid=False) + return + # set preference to zero + mxdata = [(0, rdata.to_text(omit_final_dot=True)) + for rdata in answers] + else: + mxdata = [(rdata.preference, + rdata.exchange.to_text(omit_final_dot=True)) + for rdata in answers] + # sort according to preference (lower preference means this + # host should be preferred) + mxdata.sort() # debug output linkcheck.log.debug(linkcheck.LOG_CHECK, "found %d MX mailhosts:", len(answers))