У меня проблема с разделом моего кода. Я создал дайджест, но теперь я пытаюсь добавить запись 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.
Можете ли вы помочь мне с этим?
Большое спасибо всем заранее.
Задача ещё не решена.
Других решений пока нет …