Php 使用getmxrr()或dns_get_record()检查MX记录会返回不正确的信息

Php 使用getmxrr()或dns_get_record()检查MX记录会返回不正确的信息,php,dns,mx-record,nslookup,dns-get-record,Php,Dns,Mx Record,Nslookup,Dns Get Record,我目前正在尝试通过首先检查MX记录是否存在来检查电子邮件地址的有效性,在DigitalOcean droplet上使用PHP7使用getmxrr()或dns\u get\u record() 在我的示例中(返回错误的响应),我试图检查域“nuwatches.com”上的电子邮件地址。使用dns\u get\u record(“nuwatches.com”,dns\u ALL),我收到了一个包含MX记录的数组,尽管我知道这实际上并不存在: [5] => Array ( [host]

我目前正在尝试通过首先检查MX记录是否存在来检查电子邮件地址的有效性,在DigitalOcean droplet上使用PHP7使用
getmxrr()
dns\u get\u record()

在我的示例中(返回错误的响应),我试图检查域“nuwatches.com”上的电子邮件地址。使用
dns\u get\u record(“nuwatches.com”,dns\u ALL)
,我收到了一个包含MX记录的数组,尽管我知道这实际上并不存在:

[5] => Array (
    [host] => nuwatches.com.com
    [class] => IN
    [ttl] => 27
    [type] => MX
    [pri] => 1
    [target] => mail.user-mail.net
)
但是,如果我在DigitalOcean droplet上直接从控制台使用
nslookup
,我会被正确地告知不存在MX记录

此外,如果我在不同的微滴上运行
dns\u get\u record()
函数,或者使用在线PHP代码运行程序,我也会得到正确的答案(即不存在MX记录)

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

目前,我唯一能在这个小水滴上获得正确响应的方法是运行
nslookup
,然后解析结果,但如果可能的话,我想使用
dns\u get\u record()


如果有任何建议,我将不胜感激。谢谢

这个问题有什么解决办法吗?在我的例子中,我无法使用getmxrr()查看MX记录,但其他服务(如mxtoolbox.com)可以看到它们。。。