Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > mail рассылка (проверка правильности e-mail)


Автор: PixEl 11.2.2004, 11:57
Не могли бы вы мне датьь вырезку или просто написать как выглядить скрипт проверки правильности и-мэфл адреса! тоесть у меня щас для рассылки юзер вводит любую фигню типа "дывол" и у меня это в списке подписчиков, так мне надо чтоб понималось токо значения типа *@*.*как ето сделать?

http://mediastroy.ru/mal/mail/list2.php - вот собственно форма ввода ( инвалидная)

Да, ещё бы мне надо дату последней расылки, но это уж другой вопрос...

Автор: Master 11.2.2004, 12:10
По моему так
Код
if preg_match("%^\w[-.\w]*\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[\w]{2,4}$%i",$email) {
echo "Email правильный";
} else {
echo "Email не правильный";
}

Автор: Mor 11.2.2004, 12:11
Код

       $split = explode("@", $email);
       if (strlen($split[0])<1)
       {
           echo '<script>window.history.go(-1); alert("не корректный E-mail!");</script>';
       }
       $check = explode(".", $split[1]);

       if (strlen($check[0])<1)
       {
           echo '<script>window.history.go(-1); alert("не корректный E-mail!");</script>';
       }
       
       if (strlen($check[1])<2)
       {
           echo '<script>window.history.go(-1); alert("не корректный E-mail!");</script>';
       }

if (!(IsSet($split[1])))
       {
            echo '<script>window.history.go(-1); alert("не корректный E-mail!");</script>';
       }

if (!(IsSet($check[1])))
       {
  echo '<script>window.history.go(-1); alert("не корректный E-mail!");</script>';
}

Автор: PixEl 11.2.2004, 12:23
попробую, спасибо!

Автор: ElectricalStorm 11.2.2004, 12:58
Что бы действительно правильно сделать проверку емейла надо почитать rfc822
у меня есть известный исходник написаный Фридлом в его книжки про регулярки правда тока на Perl smile.gif

Автор: MuToGeN 11.2.2004, 18:55
Еще есть SMTPшный VRFY, только ни один нормальный маил-провайдер не даст тебе его попользовать, т.к. эту фичу часто пользуют спаммеры.
Еще в FAQе что-то на эту тему было...

Автор: IZ@TOP 11.2.2004, 19:48
Mor, мне кажется, это слишком громоздкий способ ... вариант предложенный МуТоГеНоМ почти идеален!

Автор: PixEl 11.2.2004, 21:26
а можно код выложить , а вы там покажите куда сунуть добавление? Он не большой smile.gif

Автор: IZ@TOP 12.2.2004, 00:52
PixEl, думай сам, а то представь что будет если нам все начнут коды выкладвать ! Мы ж с ума сойдем чужой код править, если иногда от своего в припадке wink.gif
Но я тебе подскажу что делать (хотя МуТоГеН и так все ясно написал):
ставим в начале строки файла:
Цитата
if(!preg_match("%^\w[-.\w]*\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[\w]{2,4}$%i",$_GET['email'])) {
    die("введен неверный email адрес");
}

собственно и все что требовалось написать...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)