Фильтровать интернет-адреса электронной почты

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

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

Есть идеи?

php,javascript,

0

Ответов: 2


0 принят

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

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

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


2

Предполагая, что под «не-интернет» вы подразумеваете «local», тогда решение должно быть довольно простым: имена хостов whitelist, которым разрешено принимать почтовые адреса, которые вы принимаете.

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

PHP, JavaScript,
Похожие вопросы
Яндекс.Метрика