Главная страница статей --> Советы по фотошопу, графике и хитрости в построении php кода

PHP и DNS. Проверка почтового адреса

Источник: realcoding.net

Функция getmxrr

string getmxrr(string hostname, array mxhost, [, array weight])

Эта функция принимает в качестве аргумента имя хоста
hostname
в данном домене и заполняет массив
mxhost
списком почтовых ретрансляторов этого домена. Если указан третий необязательный аргумент weight ,
то функция заполняет его значениями предпочтения, которые возвращает ей почтовый ретранслятор

Обычно когда требуется послать сообщения по адресу username@someserver.com,
необходимо сначала узнать хост почтового ретранслятора для домена someserver.com, а затем получить его ip-адрес.
После этого можно соединяться с хостом для доставки почты.
В домене может быть несколько почтовых ретрансляторов с разными значениями предпочтения, поэтому,
получив список ретрансляторов, имеет смысл устанавливать соединение с тем из них, который имеет максимальное значение предпочтения.

В следующем листинге показан пример кода, с помощью которого можно получить список почтовых ретрансляторов:

Получение списка почтовых ретрансляторов

<?
$domain = server.com;
getmxrr($domain, $maillist, $priority);
echo(
Список почтовых ретрансляторов хоста $domain: <br>n);
for(
$i = 0; $i < count($maillist), ++$i)
{
echo(
$maillist[$i] = $priority[$i] <br>n);
}
?>

Проверка существования адреса электронной почты

Заметим сразу, что речь идет не о проверке адресов с помощью регулярного выражения,
а о проверке существования хоста почтового ретранслятора для некоторого домена.
Т.е. приведенный выше код можно практически не перерабатывая приспособить для проверки существования e-mail адреса:

<?
$email_arr = explode(@ , $email);
$host = $email_arr[1];

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>);
}

?>



Похожие статьи:
- Email без СПАМА
- Оптимизация форума под поисковые системы
- Софт для вебмастера
- РАСКРУТКА САЙТА – несколько советов в помощь веб-мастеру!
- Памятка начинающим хостерам по затыканию дырок в PHP
- Как разбивать запрос на страницы (постраничный вывод данных)?
- Мягкое повышение ИЦ и PR
- Php блокировка
- Что такое PageRank Googleа и как получить его по максимуму
- Бизнес на подкастах - уже реальность
- Дата на русском языке
- DDOS-атаки и методы борьбы с ними
- PHP пример парсинга URL для «User Friendly URLs»


Оглавление | Обсудить на форуме | Главная страница сайта | Карта сайта |

Контакты
Редакция:
[0.001]