Php 检查电子邮件DNS是否有效

Php 检查电子邮件DNS是否有效,php,Php,我搜索了很多,但没有得到正确的答案,所以最后把这个问题贴在这里。 我想检查我给定的带有域名的电子邮件地址是否有效,或者域名是否存在 阅读这个例子, 我有5封相应的电子邮件,上面写着:keyur5390@gmail.com, demo@vishal.com, test@hotmail.com, test@yahoo.com, test@mitesh.com 对于这5封电子邮件,gmail.com、hotmail.com、yahoo.com都是有效的网站,并且有一个有效的邮件地址,但是vishal.

我搜索了很多,但没有得到正确的答案,所以最后把这个问题贴在这里。 我想检查我给定的带有域名的电子邮件地址是否有效,或者域名是否存在

阅读这个例子, 我有5封相应的电子邮件,上面写着:keyur5390@gmail.com, demo@vishal.com, test@hotmail.com, test@yahoo.com, test@mitesh.com

对于这5封电子邮件,gmail.com、hotmail.com、yahoo.com都是有效的网站,并且有一个有效的邮件地址,但是vishal.com和mitesh.com类似的网站不是实时的,也不是正在运行的,所以我想检查那些真正起作用的域类型,并只获取那些域的电子邮件id

我不想要demo@vishal.com, test@mitesh.com就像电子邮件一样,只是因为它们是无效域

所以如果有什么办法,请告诉我


谢谢。

您可以像这样简单地检查DNS

var_dump(checkdnsrr("ofcoursethisis232342343243fakedomain.com"));  
请注意,这仍然不会检查电子邮件帐户本身是否存在。它将只检查域是否有有效的dns记录,正如您的问题所暗示的


你将需要一个正则表达式,其中包含所有可能的有效域名,基本上它将非常长,可能不会包含所有内容。或者,您可以使用一个简单的regexp并通过发送确认电子邮件进行检查。您好,在任何情况下,它都将返回true。。即使是生活领域或没有。所以这不会像我想检查的那样起作用,这是错误的假设。为什么即使域不存在也会返回true?如果提供的域名没有dns记录,则返回false。我一直都在用它,它就像你想要的那样工作。给它一个虚拟域名,你知道是假的,然后看看。即使我的例子也返回false。我使用这个,但它只返回true。即使您给出的示例行也不起作用。它还返回truecopy-pasting,实际上,在编程时,复制粘贴并不总是很顺利。您不愿意接受建议并尝试它,而只是希望复制和粘贴。具有讽刺意味的是,testing12345.com确实是以1495的价格出售的,这就是为什么它会返回真值。试试我刚建立的域,看看答案。谢谢@DebreczeniAndrás,MX已经是这个函数的第二个参数的默认值。