Ваше заявление echo
находится за пределами вашего foreach
l oop. Размещение echo
внутри внутреннего l oop будет отображать каждый MX по одному.
Если вы предпочитаете выводить их все сразу одной командой, соберите их в переменную внутри l oop, а затем выводит весь список.
Редактировать:
Чтобы обработать текстовый файл в том виде, в котором он в данный момент отформатирован, вам необходимо сначала удалить разрывы строк из каждого элемента в массив.
<?php
$emaillist = file('https://cardguard.xyz/tools/list.txt');
foreach ($emaillist as &$email) {
$email = str_replace(array("\r", "\n"), '', $email);
}
foreach ($emaillist as $x) {
$domain = substr(strrchr($x, "@"), 1);
$mx = dns_get_record($domain, DNS_MX);
//$mxtarget = "";
foreach ($mx as $key1) {
$mxtarget = $key1['target'];
echo "$mxtarget. \n";
}
}
?>