Привет! Вот есть класс: https://code.google.com/p/php-smtp-email-validation/source/ ... .class.php для одиночной проверки все работает https://code.google.com/p/php-smtp-email-validation/source/ ... ample1.php а вот для массовой проверки https://code.google.com/p/php-smtp-email-validation/source/ ... ample2.php выдает ошибки: Код (Text): PHP Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/mail1/smtp_validateEmail.class.php on line 154 PHP Warning: fsockopen(): unable to connect to mail.rurn:25 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /var/www/mail1/smtp_validateEmail.class.php on line 154 PHP Notice: Undefined variable: user in /var/www/mail1/smtp_validateEmail.class.php on line 212 Мне необходимо проверять е-мейл адреса списком (массово). Подскажите, что здесь не так?
Я кое-что понял. Эти ошибки из-за того, что getmxrr(); не успевает получить ответ ДНС. Предположим, список состоит из 4 емейл адресов. Код (Text): foreach($domains as $domain){ ....... if(!getmxrr($domain, $hosts, $mxweights)) {echo "No MX RR found for ".$domain;}else{print_r($hosts);} ....... } Выдает Код (Text): No MX RR found domain1 No MX RR found domain2 No MX RR found domain3 Array ( [0] => mx.yandex.ru ) Получается, что цикл перебирает массив хостов, а getmxrr(); просто не успевает получить ответ от ДНС, и только на последнем цикле этот ответ получает. Возникает закономерный вопрос. Как перебрать массив хостов так, чтобы в каждом случае, пока не получен ответ ДНС, не переходить к следующей итерации?