Главная страница статей --> Хитрости при программировании php, заметки по базам данных

Проверка почтового адреса

Источник: 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>);
}
?>



Похожие статьи:
- Маленькая баннерная сеть каждому
- Скажи Javascript, нажат ли Caps Lock?
- Скрипт подсчета кликов
- Делаем свою RSS ленту
- Классы в MySQL
- Как создать сайт? Советы для новичков
- Как зарабатывать деньги на сайте
- Asynchronous JavaScript and XML (AJAX)
- Контролируемая отдача файлов
- Подгрузка меню для сайта с фреймами
- Новый подход к веб-приложениям
- Создание таблиц Excel средствами PHP
- Серверные скрипты. Введение


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

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