dig — php взорваться от нескольких записей MX и неправильный IP

У меня проблема с разделом моего кода. Я создал дайджест, но теперь я пытаюсь добавить запись A непосредственно в запись MX (например, запись MX -> IP-адрес).

У меня есть этот код для поиска записи из MX, которую я уже нашел:

$comm = 'dig @' . $ns . ' MX ' . $domain . ' +short';
$mx_dns = shell_exec ($comm);
$mx = explode(' ', $mx_dns); //explode to take only the MX and not the priority
$mx2 = substr($mx[1],0,-1); //removing dot (.) from MX

$comm = 'dig A ' . $mx2 . ' @' . $ns . ' +short';
$ip_mx = shell_exec ($comm);

print_r($mx);

if ($ip_mx == null)
{
$comm = 'dig A ' . $mx . ' @8.8.8.8 +short';
$ip_mx2 = preg_split('/\s+/', shell_exec ($comm)); //only take first IP
$ip_mx = $ip_mx2[0];
}

В приведенном выше коде я прошу DNS домена. Если DNS не отвечает на запись A, я хочу спросить Google (8.8.8.8).

В print_r я обнаружил, что если в домене есть более одной записи MX (например, google.com), все ломается. Если в домене есть только один MX, копать нормально.

Проблема в том, что моя функция разнесения работает с одним MX. При наличии более одного MX у моей таблицы также есть следующий приоритет (например, приоритет второго MX).

Если я попытаюсь это исправить, то сценарий не может найти IP-адрес для всех доменов с одним MX.

Можете ли вы помочь мне с этим?

Большое спасибо всем заранее.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]