Вместо того, чтобы беспокоиться о том, что адреса электронной почты могут и не могут содержать, о чем вы действительно не заботитесь, проверьте, может ли ваша установка отправлять им электронную почту или нет - это то, что вас действительно волнует!На самом деле это означает отправку подтверждающего электронного письма.
В противном случае вы не сможете обнаружить гораздо более частый случай случайных опечаток, которые остаются в пределах любого набора символов, который вы разработали.(Быстрый: является ли random@mydomain.com действительным адресом, который я могу использовать на вашем сайте, или нет?) Он также позволяет избежать ненужного и необоснованного отчуждения любых пользователей, когда вы говорите им, что их совершенно действительный и правильный адрес неверен.Вы все еще не сможете обработать некоторые адреса (это необходимо отчуждение), как говорят другие ответы: обработка адресов электронной почты не тривиальна;но это то, что им нужно выяснить, хотят ли они предоставить вам адрес электронной почты!
Все, что вам нужно проверить, - это то, что пользователь вводит какой-то текст перед @, какой-то текст после него, а адрес не 't возмутительно долго (скажем, 1000 символов).Если вы хотите выдать предупреждение («это похоже на проблему! Есть ли опечатка? Двойная проверка перед продолжением»), это нормально, но оно не должно блокировать процесс добавления адреса электронной почты.
Конечно, если вы не хотите когда-либо отправлять им электронные письма, просто берите все, что они вводят.Например, адрес может использоваться исключительно для Gravatar , но Gravatar в любом случае проверяет все адреса электронной почты.