diff --git a/modoboa/admin/lib.py b/modoboa/admin/lib.py index 9d1b11aef..ea5c54f4f 100644 --- a/modoboa/admin/lib.py +++ b/modoboa/admin/lib.py @@ -204,6 +204,8 @@ def get_domain_mx_list(domain): logger.error( _("No {type} record found for MX {mx}").format( type=rtype, mx=domain), exc_info=e) + except dns.resolver.NoAnswer: + pass else: for ip_answer in ip_answers: try: diff --git a/modoboa/admin/tests/test_mx.py b/modoboa/admin/tests/test_mx.py index 7d39dec24..1823be334 100644 --- a/modoboa/admin/tests/test_mx.py +++ b/modoboa/admin/tests/test_mx.py @@ -129,6 +129,7 @@ class MXTestCase(ModoTestCase): get_domain_mx_list("no-ns-servers.example.com") get_domain_mx_list("timeout.example.com") get_domain_mx_list("no-lookup.example.com") + get_domain_mx_list("no-answer.example.Com") get_domain_mx_list("bad-response.example.com") log.check( ("modoboa.admin", "ERROR", diff --git a/modoboa/admin/tests/utils.py b/modoboa/admin/tests/utils.py index 2c6cee995..6a586a3c1 100644 --- a/modoboa/admin/tests/utils.py +++ b/modoboa/admin/tests/utils.py @@ -45,12 +45,14 @@ _POSSIBLE_DNS_RESULTS = { "no-ns-servers.example.com": NoNameservers(), "bad-response.example.com": [_BAD_MX_RECORD], "no-lookup.example.com": [_DNE_MX_RECORD], + "no-answer.example.com": [_DNE_MX_RECORD], } _POSSIBLE_DNS_RESULTS_NO_MX = { "does-not-exist.example.com": NXDOMAIN(), "mx2.example.com": NXDOMAIN(), "no-lookup.example.com": NXDOMAIN(), + "no-answer.example.com": NoAnswer(), "bad-response.example.com": [RRsetInvalid()], } _POSSIBLE_IP_RESULTS = {