Как и в заголовке, насколько надежна эта проверка.
Каждый сервер в мире имеет свою запись MX, выставленную миру?
Или существует вероятность того, что существует сервер, который скрывает свою запись MX, и даже если электронная почта будет действительной, проверка не удастся.
ОБНОВИТЬ:
Я уже проверил документацию и источник Symfony.
Я знаю и проверил, что проверяется только домен электронной почты, а не пользовательская часть.
Я просто не знаю, насколько это надежно. Всегда ли можно проверить записи MX серверов.
Этот валидатор только проверяет, действителен ли DNS-пользователь в электронном письме, например, если вы установили это электронное письмо [email protected]
оно будет проверено, даже если это письмо не завершится.
http://symfony.com/doc/current/reference/constraints/Email.html#checkmx
checkMX
опция делается с помощью PHP checkdnsrr функция, наряду с checkHost
вариант. Вы также можете установить strict
вариант и включают в себя egulias / электронная почта-валидатор библиотека для более жестких ограничений. Использование этих параметров должно быть вполне достаточным и надежным при определении того, является ли адрес электронной почты действительным.
Из опыта это кажется хорошей идеей в теории и на практике будет работать большую часть времени, но будут случаи, когда поиск MX не удается из-за проблем с сетью и т. Д., А затем сообщение электронной почты возвращается как недействительное, что затем вызывает пользователей, которые вставили свой правильный адрес электронной почты, чтобы расстроиться.
Это, в свою очередь, приводит к тому, что разработчикам приходится тратить время на то, чтобы понять, что пошло не так.
Кроме того, если пользователь вводит фальшивое электронное письмо, все, что ему нужно, это использовать реальный домен и фальшивого пользователя (например, fbjdsbafjkbsdjafj @ gmail.com), поэтому он имеет ограниченную полезность.
В 99,9% случаев будет достаточно проверить правильность формирования электронной почты без поиска mx, используя установленную библиотеку проверки электронной почты (вместо того, чтобы проверять свою собственную)