Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как проверить, существует ли e-mail?
 
 автор: Zew   (24.01.2006 в 23:18)   письмо автору
 
 

Добрый вечер.
У меня на сайте есть простенькая рассылка с подпиской. Но дело в том, что раньше я как-то не задумывалась о проверке записываемых емейлов на достоверность - проверялись они только на preg_match( '/^([a-z0-9_\-\.])+\@([a-z0-9_\-])+(\.([a-z0-9])+)+$/',$mail) *это не я писала, я его просто копирнула от куда-то, и даже не уверена на сколько верно он работает* и на наличие дублей. Но я более чем уверена, что многие из адресов в моей базе и вовсе не существуют, и отправляемые на них письма никуда не доставляются.
Вопрос: можно ли как-то проверить всю таблицу с адресами (порядка 300 штук) на "проходимость"? И если да, то как?

   
 
 автор: Евгений Петров   (24.01.2006 в 23:28)   письмо автору
 
   для: Zew   (24.01.2006 в 23:18)
 

Вообще если мыла не существует то письмо приходит обратно. А вообще разошлите всем просьбу подтвердить свое мыло.. :)

   
 
 автор: Zew   (24.01.2006 в 23:34)   письмо автору
 
   для: Евгений Петров   (24.01.2006 в 23:28)
 

Ну, собстно обратно ему некуда приходить - я же через сендмейл шлю, и куда он в таком случае должен прийти? )) А подтверждать - ну, это еще надо будет изобретать систему подтверждения, а я как-то слабо представляю даже основные принципы, как ее устроить. *_*

   
 
 автор: Unkind™   (24.01.2006 в 23:41)   письмо автору
 
   для: Zew   (24.01.2006 в 23:34)
 

Посмотрите, пожалуйста в атаче...Там система рассылки, созданная IT-студией SoftTime...

   
 
 автор: Евгений Петров   (24.01.2006 в 23:53)   письмо автору
 
   для: Zew   (24.01.2006 в 23:34)
 

А че её делать в письме отсылаете ссылку примерно такую
http://myurl.ru/checkmail.php?email=zhenya_petrov@mail.ru

И дальше в самом скрипте помечаете это мыло как нормальное.

   
 
 автор: Zew   (25.01.2006 в 00:24)   письмо автору
 
   для: Евгений Петров   (24.01.2006 в 23:53)
 

Хм, ну эту систему рассылки я видела, но чес говоря в ней я так и не нашла того, что мне нужно...
Евгений Петров, а это идея! )) Пасиб за подсказку. ;)
Мдя, жаль что нельзя их проверить, ну да ладно, пусть старые остаются как есть, а новые буду проверять подтверждением. *_*

   
 
 автор: Саня   (25.01.2006 в 00:12)   письмо автору
 
   для: Zew   (24.01.2006 в 23:18)
 

Вообще-то проверить нельзя (ну разве что, как сказал Евгений Петров). Самая великая проблема спаммеров - проверка валидности e-mail. Вы только представьте себе что будет, если была бы возможность автоматической проверки существования e-mail'а!

   
 
 автор: cheops   (25.01.2006 в 03:12)   письмо автору
 
   для: Zew   (24.01.2006 в 23:18)
 

Вообще как-то проверяют через сокеты - присоединяются к почтовому серверу и спрашивают есть ли у него такое мыло или нет... только вот скрипт я этот посеял...

   
 
 автор: hovo   (25.01.2006 в 09:52)   письмо автору
 
   для: cheops   (25.01.2006 в 03:12)
 

не знаю на сколько ето правильно,
но можно активизировать твоих юзеров после того , как только ониотправят тебе ответный писмецо из того аддресса , какой было написано на форме у тебя на сайте.

   
 
 автор: Loki   (25.01.2006 в 10:43)   письмо автору
 
   для: hovo   (25.01.2006 в 09:52)
 

Да можно просто в качестве обратного адреса указать некий реальный почтовый ящик. Тогда туда придут ответы серверов, с отчетами о несуществующих адресах. Но если база состоит из нескольких тысяч адресов, то объем почты набежит довольно быстро.

   
 
 автор: cheops   (25.01.2006 в 13:07)   письмо автору
 
   для: hovo   (25.01.2006 в 09:52)
 

Вообще действительно, когда необходима 100% работающая почта от пользователей, прибегают к активации с e-mail.

   
 
 автор: XPraptor   (25.01.2006 в 15:29)   письмо автору
 
   для: cheops   (25.01.2006 в 13:07)
 

Вот держи, я когда т осебе на порталы написал и по сей день проверяю мыла при регистрации юзеров. За последний год не было ни одного битого мыла.
Очистку входящей строки для проверки мыло-ли это вообще, я тут не делал, у меня она раньше происходит и в функцию подается гарантированно строка похожая на мыло.
//проверяет по MX запси существование e-mail адреса
function detect_email($strmail="")
{
if($strmail=="")return 0;
$email_arr = explode("@", $strmail);
$host = $email_arr[1];
$mxhostsarr="";
if(!getmxrr($host, $mxhostsarr))
{
return 0;
}else{
return 1;
}
}

Если MX запись существует, то вернет 1 и мыло на 99% есть, иначе вернет 0.
Можно более детально запросить у сервера по MX записи существование такого аккаунта, но это только потеря времени, легче потом отсеять мертвеньких.
На счет того, что отправляете sendmail и письмам некуда возвращаться, так это чепуха полная, заголовки ни кто пока не отменял: $mail->headers = "Errors-To: [EMAIL=kozly@krutoy.ru]kozly@krutoy.ru[/EMAIL]";
Все ошибки вернуться на kozly@krutoy.ru.
АХТУНГ! ФУНКЦИИ MX и DNS РАБОТАЮТ ТОЛЬКО НА Unix подобных платформах, в локалке на винде тестить бессмысленно!

   
 
 автор: Loki   (25.01.2006 в 16:03)   письмо автору
 
   для: XPraptor   (25.01.2006 в 15:29)
 

Поправьте меня, но этим мы проверим только существование почты на данном хосте, но никак не конкретного ящика.
когда мне назойливо предлагают ввести адрес, я как правило ввожу что-то типа mail@mail.ru
Насколько я понял, этот адрес легко выдержит данную проверку.

   
 
 автор: XPraptor   (25.01.2006 в 16:13)   письмо автору
 
   для: Loki   (25.01.2006 в 16:03)
 

Конечно выдержит. Но я же написал, что можно проверить и сам аккаунт, но мне это без надобности, время уходит больше, чем смысла в такой проверке. Потому, как если мне вернется еррор на обратный адрес, то я забаню такого юзера. А если просто кто-то левый регистрится, то он как правило вообще нормальное мыло не указывает, а если хотябы сервер правильный указал, то он уже хоть задумался над этим и может быть полезен порталу.

   
 
 автор: Andrey_V   (25.01.2006 в 20:46)   письмо автору
 
   для: XPraptor   (25.01.2006 в 16:13)
 

При проверке может возникнуть еще одна проблема. Нам приходилось с этим сталкиваться. Суть в следующем.
Владельцы ресурсов, особенно бесплатных, видимо, помечают все IP адреса как поставщики спама. Потом с некоторых определнных адресов снимают "черную метку". Если Ваш IP адрес получает эту метку, то когда Вы будете проверять адрес, будет приходить ответ о том, что прием писем с Вашего адреса запрещен. И для его разблокировки будут предлагать написать заявление с просьбой разблокировать этот адрес. Вы пишете, адрес разблокируют. А через несколько дней он опять оказывается заблокированным. Mail.ru меня этим так достал, что пришлось своим клиентам предложить поменять адреса. Помогло только это.
Поэтому: если будет проводиться такая проверка, то она будет постоянно давать сообщение, что адрес не существует, хотя на самом деле он существует.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования