2010-03-25 8 views
1

Я не уверен, что это возможно, но подумал, что я его выброшу.Проверка правильного и полезного адреса электронной почты в PHP

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

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

Есть ли возможность проверить, является ли адрес электронной почты действительным и используется? Единственное, что я могу придумать, это превратить его контактную форму в mailto: link.

ответ

7

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

Есть теоретические способы рассказать в протоколе SMTP, но многие (или, может быть, даже самые) серверы не уважают их из-за проблем со злоупотреблением их спамерами.

0

Несмотря на то, что это может не сработать, я обнаружил, что Akismet (http://akismet.com/) достаточно хорош в блокировании спама и нежелательных писем в формах и комментариях.

Если это не удастся, и проблема заключается только в одном лице, вы можете сделать черный список по IP-адресу или даже с помощью отпечатка пальца браузера (http://www.h-online.com/security/news/item/EFF-demonstrates-a-browser-s-finger-print-918786.html). В конечном счете невозможно остановить кого-то, если они посвящены.

0

Почему бы просто не отправить это электронное письмо, если в сообщении содержится какое-то часто используемое слово злоупотребления или адрес злоумышленника IP?