Квартиры, дома, земельные участки Краснодарского края без посредников. Объявления собственников недвижимости.
Реклама здесь
Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Проверка E-Mail

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

После этого можно соединяться с хостом для доставки почты.

В домене может быть несколько почтовых ретрансляторов с разными значениями предпочтения, поэтому, получив список ретрансляторов, имеет смысл устанавливать соединение с тем из них, который имеет максимальное значение предпочтения.

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

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


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

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

Здесь речь идет о проверке существования хоста почтового ретранслятора для некоторого домена.


<?php
$email_arr 
explode("@" $email);
$host $email_arr[1];
if (!
getmxrr($host$mxhostsarr)) {
    echo 
"На адрес $email отправка почты невозможна";
    exit; }
getmxrr($host$mxhostsarr$weight);
echo 
"На $email письма могут отправляться через следующие хосты:";
for (
$i=0$i count($mxhostsarr); $i++)
    echo (
"$mxhostsarr[$i] = $weight[$i]");
?>
Скопировать в буфер

А вот так выглядит функция проверки правильности E-Mail'а. Помните, эта функция проверят только существование почтового сервера и синтаксическую правильность адреса. Для полной проверки существования адреса необходимо отправить на него письмо со случайным кодом и попросить получателя письма ввести этот код а форме, на вашем сайте.


<?php
function CheckEmail($Email){
if (!
preg_match("/^[\._a-zA-Z0-9-]+@[\.a-zA-Z0-9-]+\.[a-z]{2,6}$/i"$Email)) return false;
list(
$Username$Domain) = split("@",$Email);
if (@
getmxrr($Domain$MXHost)) return true;
else    {
    
$f=@fsockopen($Domain25$errno$errstr30);
    if(
$f){
          
fclose($f);
          return 
0;}
    else return 
false;
}} 
?>
Скопировать в буфер

Функция возвращает false, если адрес указан неверно и true, если все порядке.

Здесь предложены анкеты индивидуалок Москвы и Московской области.

© Copyright 2008-2012 by KDG