Фильтровать интернет-адреса электронной почты - PullRequest
0 голосов
/ 16 июня 2009

Как я могу выполнить проверку на стороне клиента для адресов электронной почты, где адрес электронной почты должен быть как можно больше не основанным на Интернете. то есть Yahoo, Gmail и сотни не допускаются. Это не обязательно должно быть идеально, но я просто хочу свести к минимуму все очевидные сценарии таких адресов электронной почты.

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

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 16 июня 2009

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

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

0 голосов
/ 16 июня 2009

То, что я читаю как требование, не относящееся к учетной записи веб-почты, на данный момент весьма сомнительно и практически невозможно гарантировать. Если это действительно часть ваших жестких требований, это означает, что люди, которые перешли на gmail-as-primary-email, должны будут зарегистрировать дополнительную учетную запись, и это увеличило бы мои шансы на то, что ваш сайт не стоит регистрация ON.

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

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

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