diff --git a/trytond/setup.py b/trytond/setup.py index bd7e434afd..905bae894a 100755 --- a/trytond/setup.py +++ b/trytond/setup.py @@ -160,7 +160,7 @@ setup(name=name, 'barcode': ['python-barcode[images]'], 'qrcode': ['qrcode[pil]', 'webcolors'], 'completion': ['argcomplete'], - 'email-validation': ['email-validator >= 2'], + 'email-validation': ['email-validator >= 2', 'dnspython'], }, zip_safe=False, cmdclass={ diff --git a/trytond/trytond/tools/email_.py b/trytond/trytond/tools/email_.py index 061f01a17e..b5a1570918 100644 --- a/trytond/trytond/tools/email_.py +++ b/trytond/trytond/tools/email_.py @@ -30,10 +30,17 @@ def set_from_header(message, sender, from_): try: + from dns.exception import DNSException from email_validator import EmailNotValidError, caching_resolver from email_validator import validate_email as _validate_email - resolver = caching_resolver() + try: + resolver = caching_resolver() + except DNSException: + if Pool.test: + resolver = None + else: + raise def validate_email(email): emailinfo = _validate_email(