Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Есть ли альтернатива проверке электронной почты?

Автор вопроса: user882440Ответов: 3

У меня нет доступа к SMTP-серверу без обновления, чего я не могу сейчас.

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

Я использую php-mysql для веб-сайта.

  • stackoverflow.com/questions/201323/ André Paramés 13.08.2011
  • Ах, у меня был ответ о том, как вы можете отправить электронное письмо со случайным токеном. Но потом я понял, что у вас нет smtp. :( Amir Raminfar 13.08.2011
  • Не забывайте, что даже "действительный адрес электронной почты" может быть отправлен кем-то другим, а не владельцем этого адреса, так что владелец адреса электронной почты будет рассылаться спамом с вашего веб-сайта, что приведет к тому, что ваш веб-сайт будет занесен в черный список. Вы должны найти способ сделать так, чтобы владелец адреса электронной почты действительно хотел быть подписанным на ваш сайт. Навскидку, SMTP - лучший способ. Jonathan Leffler 13.08.2011

phpemailsmtp

Ответы

Ответ 1 · рейтинг 3 · Madara's Ghost

Введение

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

Отвечать

Что касается самой проверки, то есть много способов сделать это,

  • Можно было бы использовать filter_var()

     filter_var('[email protected]', FILTER_VALIDATE_EMAIL)
    

Примечание: REGEX не рекомендуется для проверки электронной почты. Если вы это сделаете, Джон Скит придет к вам ночью.

Ответ 2 · рейтинг 1 · trailmax

Одна из вещей, которую вы можете сделать, это проверить, действителен ли домен с помощью поиска WHOIS или ping. Если кто-то вводит [email protected], вы пытаетесь найти doe.com в whois и также пропинговать этот домен. Если домен не существует, адрес электронной почты недействителен.

Кроме того, просьба напечатать письмо дважды помогает мне - люди перестают делать орфографические ошибки в своих электронных письмах.

Также обязательна хорошая проверка через регулярное выражение для электронной почты.

Ответ 3 · рейтинг -1 · Justin Helmig

Вот список, идущий от самого простого к самому точному, который я видел чаще всего.

  • Регулярное выражение - проверьте и убедитесь, что это допустимый формат электронной почты. Я видел несколько хороших фрагментов кода на Stack Overflow для этого - бесплатно и просто, но не определяет, существует ли на самом деле электронная почта или даже домен.

  • Проверьте, есть ли у домена MX-сервер. Более точно, чем регулярное выражение, поскольку, по крайней мере, домен проверяется в режиме реального времени. Это бесплатно и довольно просто реализовать, но не определяет, существует ли пользователь.

  • Используйте коммерческое решение - наиболее точное (подтверждает, что фактический адрес электронной почты действителен и может принимать сообщения), простое в реализации (REST/SOAP), но не бесплатное.

Надеюсь это поможет.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы