Эта функция принимает в качестве аргумента имя хоста
hostname
в данном домене и заполняет массив
mxhost
списком почтовых ретрансляторов этого домена. Если указан третий необязательный
аргумент
weight
, то функция заполняет его значениями предпочтения,
которые возвращает ей почтовый ретранслятор
Функция
getmxrr
является достаточно полезной. Дело
в том, что когда требуется послать сообщения по адресу username@someserver.com,
необходимо сначала узнать хост почтового ретранслятора для домена
someserver.com, а затем получить его IP-адрес. После этого можно соединяться с
хостом для доставки почты. В домене может быть несколько почтовых ретрансляторов
с разными значениями предпочтения, поэтому, получив список ретрансляторов, имеет
смысл устанавливать соединение с тем из них, который имеет максимальное значение
предпочтения.
В следующем листинге показан пример кода, с помощью которого
можно получить список почтовых ретрансляторов:
Заметим сразу, что речь идет не о проверке адресов с помощью
регулярного выражения, а о проверке существования хоста почтового ретранслятора
для некоторого домена. Т.е. приведенный выше код можно практически не
перерабатывая приспособить для проверки существования e-mail адреса:
if (!getmxrr($host,
$mxhostsarr)) {
echo "На адрес $email отправка почты
невозможна"; exit; }
getmxrr($host, $mxhostsarr, $weight); echo "На $email письма могут отправляться через следующие
хосты:<br>"; for ($i=0; $i
< count($mxhostsarr); $i++)
{ echo ("$mxhostsarr[$i] =
$weight[$i]<br>"); }
Тут лежит php-скрипт, который проверяет адреса электронной почты тремя способами:
http://www.easy2code.com/ru/notes/view/proverka_e-mail_adresa_na_suschestvovanie/
20 сентября 2011, 18:50 коммент полезен : 0#Guest1