Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
getmxrr
(PHP 3, PHP 4, PHP 5)
getmxrr - получает MX-записи, соответствующие имени данного Internet-хоста.
Описание
int getmxrr (string hostname, array mxhosts [, array weight])
Ищет DNS для MX-записей, соответствующих hostname. Возвращает TRUE, если найдены любые записи; возвращает FALSE, если никаких записей не было найдено или если возникла ошибка.
Список найденных MX-записей помещается в массив mxhosts. Если массив weight задан, он будет заполнен полученной weight-информацией.
Эта функция принимает в качестве аргумента имя хоста hostname в данном домене и заполняет массив mxhost списком почтовых ретрансляторов этого домена.
Если указан третий необязательный аргумент weight, то функция заполняет его значениями предпочтения, которые возвращает ей почтовый ретранслятор
Пример получения списка почтовых ретрансляторов
$domain = "server.com";
getmxrr($domain, $maillist, $priority);
echo("Список почтовых ретрансляторов хоста $domain: \n");
for($i = 0; $i < count($maillist), ++$i) {
echo("$maillist[$i] = $priority[$i] \n"); }
Функция getmxrr() не работает в Windows!
Эмулятор функции getmxrr
if (!function_exists("getmxrr")) {
function getmxrr($hostname, &$hosts, &$weights=false) {
$hosts = $weights = array();
// Не идеальный способ, но работающий: используется внешняя
// программа nslookup, доступная в WIndows NT/2000/XP/2003.
exec("nslookup -type=mx $hostname", $result);
// Построчно перебираем ответ утилиты.
foreach ($result as $line) {
// Выделяем имя почтового сервера.
if (preg_match('/mail\s+exchanger\s*=\s*(\S+)/', $line, $pock)) {
$hosts[] = $pock[1];
// Также выделяем вес.
if (preg_match("/MX\s+preference\s*=\s*(\d+)/", $line, $pock))
$weights[] = $pock[1];
else
$weights[] = 0;
}
}
return count($hosts) > 0;
}
}
// В PHP5 появился синоним для getmxrr() - его мы тоже эмулируем.
if (!function_exists("dns_get_mx")) {
function dns_get_mx($hostname, &$hosts, &$weights) {
return getmxrr($hostname, $hosts, $weights);
}
}
Смотрите также checkdnsrr(), gethostbyname(), gethostbynamel() и gethostbyaddr().
Все функции сетевыеОписание на ru2.php.net
Описание на php.ru