3

我目前正在尝试通过首先检查是否存在 MX 记录、在 DigitalOcean 液滴上使用getmxrr()或使用 PHP 7 来检查电子邮件地址的有效性。dns_get_record()

在我的示例中(返回不正确的响应),我试图检查域“nuwatches.com”上的电子邮件地址。使用dns_get_record(”nuwatches.com”, DNS_ALL),我返回了一个包含 MX 记录的数组,即使我知道这在现实中不存在:

[5] => Array (
    [host] => nuwatches.com.com
    [class] => IN
    [ttl] => 27
    [type] => MX
    [pri] => 1
    [target] => mail.user-mail.net
)

但是,如果我nslookup直接从 DigitalOcean 液滴上的控制台使用,我会被正确地告知不存在 MX 记录。

此外,如果我dns_get_record()在不同的 Droplet 上运行该函数,或者使用在线 PHP 代码运行器,我也会得到正确答案(即不存在 MX 记录)。

我已经与 DigitalOcean 支持人员交谈过,他们认为 PHP 在那个特定的液滴上发生了一些奇怪的事情,可能是缓存问题,但我根本不知道是什么导致了这种差异,特别是因为我没有缓存任何东西我。

就目前而言,在此液滴上获得正确响应的唯一选择是运行nslookup然后解析结果,但如果可能的话,我想使用dns_get_record()

我会很感激任何建议。谢谢!

4

0 回答 0