Php 使用getmxrr()或dns_get_record()检查MX记录会返回不正确的信息
我目前正在尝试通过首先检查MX记录是否存在来检查电子邮件地址的有效性,在DigitalOcean droplet上使用PHP7使用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]
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)可以看到它们。。。