Symfonys2 EmailValidator checkMX 的可靠性如何?

How reliable is Symfonys2 EmailValidator checkMX?

如题,这张支票的可靠性如何。

https://github.com/symfony/symfony/blob/3.0/src/Symfony/Component/Validator/Constraints/EmailValidator.php#L139-L142

世界上每一个服务器都有他们的 MX 记录暴露给世界? 或者是否有可能存在隐藏其 MX 记录的服务器,即使电子邮件有效,检查也会失败。

更新:

我已经检查了 Symfony 文档和源代码。 我知道并且我已经测试过只检查电子邮件域,而不是用户部分。 只是不知道可信度如何。是否总是可以检查服务器的 MX 记录。

http://symfony.com/doc/current/reference/constraints/Email.html#checkmx

checkMX 选项是使用 PHP 的 checkdnsrr function, along with the checkHost option. You can also set a strict option and include the egulias/email-validator 库完成的,以实现更严格的限制。在确定电子邮件地址是否有效时,使用这些选项应该是完全充分和可靠的。

此验证器仅检查电子邮件中的 DNS 用户是否有效,例如,如果您设置此电子邮件 fail@google.com,即使此电子邮件不退出,它也会被验证。

根据经验,这在理论上似乎是个好主意,在实践中大部分时间都会奏效,但有时会因网络问题等原因导致 MX 查找失败,然后电子邮件将 return 无效,这会导致输入正确电子邮件的用户感到沮丧。

这反过来又会导致开发人员不得不花时间查看哪里出了问题。

此外,如果用户输入虚假电子邮件,他们所需要做的就是使用真实域和虚假用户(如 fbjdsbafjkbsdjafj @gmail.com),因此其用处有限。

对于 99.9% 的情况,无需 mx 查找就可以使用已建立的电子邮件检查库(而不是自己动手)检查电子邮件的格式是否正确