Java: как я могу проверить адрес электронной почты, чтобы быть допустимым, не посылая электронное письмо подтверждения?

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

использование апачского кота и Java как мой основной язык программирования.

большое спасибо!

7
задан ufk 1 March 2010 в 14:06
поделиться

8 ответов

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

9
ответ дан 6 December 2019 в 04:58
поделиться

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

17
ответ дан 6 December 2019 в 04:58
поделиться

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

http://openid.net/

1
ответ дан 6 December 2019 в 04:58
поделиться

Я просто хотел вмешаться и сказать, что, несмотря на ваше нежелание делать это, ПОЖАЛУЙСТА, отправляйте электронное письмо и заставляйте пользователя подтвердить, что он имеет контроль над ним, прежде чем разрешить использовать этот адрес электронной почты в связи с учетной записью на вашем сайте. Почему? Потому что если этого не сделать по какой-либо причине, то пользователи могут зарегистрировать учетные записи, используя чужие адреса электронной почты. Они могут сделать это случайно, а могут и специально (например, подписывая других на аккаунты по разным причинам); это просто некошерно, и на сайты, которые это допускают, могут быть поданы жалобы их интернет-провайдерам.

(Я говорю это как владелец аккаунта Gmail, который, по крайней мере, два-три раза в месяц подписывается на аккаунт на каком-нибудь сайте, который не заставляет пользователей подтверждать свои адреса электронной почты таким образом. Это раздражает, и это возлагает на меня обязанность удалить учетную запись с сайта-нарушителя. Теперь я стал восстанавливать все пароли, которые могу, входить в аккаунт, а затем менять адрес электронной почты на "UNKNOWN@gmail.com" или что-то в этом роде... это вроде как весело, но я сомневаюсь, что вы хотите, чтобы такое происходило на вашем сайте.)

.
6
ответ дан 6 December 2019 в 04:58
поделиться

вопреки некоторым необразованным ответам, вы можете ПРОБОВАТЬ подключиться к серверу MX и использовать команду VRFY, чтобы проверить, поддерживает ли ее сервер. Вот веб-сайт, который сделает это для вас в качестве примера. Если вы посмотрите на его обмен с MX-сервером, он действительно пытается отправить письмо, но перед отправкой делает сброс. Тестирование с моим адресом электронной почты работает, но я не получаю письмо. Так что да, вы можете сделать то, что все остальные говорят, что вы не можете сделать. Используйте адрес, который вы знаете, работает для вашего домена, а затем используйте тот, который не поддерживается. Вы получите 550 на последнюю команду RCTP TO. Так вы узнаете, что адрес не существует.

5
ответ дан 6 December 2019 в 04:58
поделиться

На этот вопрос уже был дан ответ в предыдущих вопросах здесь. Лучшее, что вы можете сделать без подтверждающего электронного письма, - это посмотреть на адрес электронной почты и убедиться, что он действителен. Вы также можете проверить такие вещи, как домен, чтобы узнать, существует ли он и есть ли записи MX. В любом случае, см. https://stackoverflow.com/questions/3232/how-far-should-one-take-e-mail-address-validation и Использование регулярного выражения для проверки электронной почты адрес

3
ответ дан 6 December 2019 в 04:58
поделиться

Если вы просто хотите убедиться, что он ВЫГЛЯДИТ как действительный адрес электронной почты, существует множество примеров регулярных выражений, которые это подтвердят. Если вы хотите подтвердить, что пользователь контролирует адрес электронной почты, вам нужно будет что-то отправить ему и создать уникальный ответ для подтверждения.

1
ответ дан 6 December 2019 в 04:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: