Ну, это зависит от того, что приложение должно делать.
Будет ли оно использоваться во внутренней сети? Если это так, email@domain
может быть в порядке.
Если нет, вы можете явно указать fqdn, чтобы они не могли отправлять почту внутри вашего домена (foo@localhost
и т. Д.).
Проверка доменной части не должна быть трудной:
$domain = array_pop(explode('@', $email));
Затем, в зависимости от ваших потребностей, проверьте домен.
Вы можете проверить его на допустимый синтаксис (это fqdn). В Интернете есть множество учебных пособий (которые предоставляют многие платформы), которые могут проверить домен в строке, чтобы определить, является ли он форматом fqdn ...
Или, если ваши потребности выше, вы можете просто проверить, что ваш сервер может решить их (например, dns_get_record()
...
if (false === dns_get_record($domain, DNS_MX)) {
//invalid domain (can't find an MX record)...
}
(Обратите внимание, я сказал, что может сделать это, если вы не должны . Это будет зависеть от вашего конкретного случая использования) ...