Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > Проверить правильность/доставку мейла


Автор: TrivialCore 19.5.2006, 13:27
Народ, на странице хочу сделать поле для ввода мейла и отправку мейла. Не могу себе позволить, чтобы посетители вводили хз что, только реально существующие адреса. Как проверить, существует ли данный адрес средствами PHP? В крайнем случае оправить и отследить доставку - правильно дошел или нет.

Помогите, спасибо. 

Автор: DEER 19.5.2006, 13:37
можно сделать активизацию через email

короче смысл такой:
  • чел регистрируется, вводит инфу и тп в том числне и email
  • ты его данные заносишь во временную таблицу, не таблиуцу пользователей
  • на email отсылаешь письмо со ссылкой на скрипт добавления его в таюлицу пользователей, содержащей какой нить код сгенерированный
  • если письмо пришло на почту челу, то он проходит по ссылке, и скрипт заносит его в бд
  • если даьа ввода данных слишком старая(например месяц), то удаляешь из временной страницы

я себе это так представляю 

Автор: Mal Hack 19.5.2006, 23:43
Можно провеп\рить регулярным выражением только правильность набора адреса электронной почты.
http://forum.vingrad.ru/index.php?showtopic=46596

Цитата(TrivialCore @  19.5.2006,  13:27 Найти цитируемый пост)
В крайнем случае оправить и отследить доставку - правильно дошел или нет.

Нельзя такого сделать. Точнее можно, но это не надежно. Так что нельзя. 

Автор: TrivialCore 25.5.2006, 12:01
Давайте, объясню, зачем все это надо. Мне это нужно для рассылки, действующей так:

Чтобы получить доступ к определенной странице, посетитель должен ввести 3 адреса "друзей", которые получат таким образом приглашение.
И тут я хочу отсечь "халявщиков", которые введут хз что, лишь бы пройти дальше.

Также при подписке на рассылку я не хочу коллекционировать несуществующие адреса.

А возможно хотя бы определить правильность домена? Например, определить, что fdasfdasfdasfdas.ru не существует, а gmail.com - существует? 

Автор: Mal Hack 25.5.2006, 23:40
Цитата(TrivialCore @  25.5.2006,  12:01 Найти цитируемый пост)
А возможно хотя бы определить правильность домена? Например, определить, что fdasfdasfdasfdas.ru не существует, а gmail.com - существует?  

Это можно через gethostbyaddr, к примеру.

Цитата(TrivialCore @  25.5.2006,  12:01 Найти цитируемый пост)
Также при подписке на рассылку я не хочу коллекционировать несуществующие адреса.

Тут надо на сервере ловить ответ серверов получателей, и если там есть сообщение, что мол такого адреса нет, выкидывать его из БД.

Цитата(TrivialCore @  25.5.2006,  12:01 Найти цитируемый пост)
Чтобы получить доступ к определенной странице, посетитель должен ввести 3 адреса "друзей", которые получат таким образом приглашение.
И тут я хочу отсечь "халявщиков", которые введут хз что, лишь бы пройти дальше.

Как сделана авторизация на форуме по вводу кода ключа понимаешь? Вот тут схема такая же.  

Автор: TrivialCore 29.5.2006, 13:41
Цитата(Mal Hack @  25.5.2006,  23:40 Найти цитируемый пост)
Это можно через gethostbyaddr, к примеру.
О, спасибо, кажется, что надо.

Цитата(Mal Hack @  25.5.2006,  23:40 Найти цитируемый пост)
Тут надо на сервере ловить ответ серверов получателей, и если там есть сообщение, что мол такого адреса нет, выкидывать его из БД.
А как это конкретно сделать? Можно ли без распарсивания ответа получить true/false?

Добавлено @ 13:43 
Цитата(Mal Hack @  25.5.2006,  23:40 Найти цитируемый пост)
Как сделана авторизация на форуме по вводу кода ключа понимаешь? Вот тут схема такая же. 
Ну, как я понимаю, пароль хешируется и полученная строка сравнивается со строкой в базе. Но причем тут это, не пойму?
 

Автор: Mal Hack 29.5.2006, 14:20
Цитата(TrivialCore @  29.5.2006,  13:41 Найти цитируемый пост)
А как это конкретно сделать? Можно ли без распарсивания ответа получить true/false?

Нет. И притом, ответ может несразу придти.

Цитата(TrivialCore @  29.5.2006,  13:41 Найти цитируемый пост)
Ну, как я понимаю, пароль хешируется и полученная строка сравнивается со строкой в базе. Но причем тут это, не пойму?

Я имел ввиду подтверждение регистрации. 

Автор: TrivialCore 29.5.2006, 17:33
Хорошо, в любом случае спасибо. 

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