From 54859fabea8b3beecbb1a282888d5c990036b9e3 Mon Sep 17 00:00:00 2001 From: Tom Sommer Date: Thu, 16 Aug 2018 22:49:45 +0200 Subject: [PATCH] INTL_IDNA_VARIANT_UTS46 is not supported on all systems (#173) * INTL_IDNA_VARIANT_UTS46 is not supported on all systems Fall back to INTL_IDNA_VARIANT_2003 if INTL_IDNA_VARIANT_UTS46 is not found. * Fix syntax error * Update DNSCheckValidation.php --- EmailValidator/Validation/DNSCheckValidation.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/EmailValidator/Validation/DNSCheckValidation.php b/EmailValidator/Validation/DNSCheckValidation.php index ec12958..e5c3e5d 100644 --- a/EmailValidator/Validation/DNSCheckValidation.php +++ b/EmailValidator/Validation/DNSCheckValidation.php @@ -51,7 +51,11 @@ public function getWarnings() protected function checkDNS($host) { - $host = rtrim(idn_to_ascii($host, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46), '.') . '.'; + $variant = INTL_IDNA_VARIANT_2003; + if ( defined('INTL_IDNA_VARIANT_UTS46') ) { + $variant = INTL_IDNA_VARIANT_UTS46; + } + $host = rtrim(idn_to_ascii($host, IDNA_DEFAULT, $variant), '.') . '.'; $Aresult = true; $MXresult = checkdnsrr($host, 'MX');