PHP 电子邮件验证器 – 电子邮件 MX DNS 记录检查

验证电子邮件地址是网络上最困难的任务之一。有效的电子邮件可以是营销黄金,但无效的电子邮件地址是沉重的负担。它不仅需要占用 CPU 资源的 PHP 正则表达式 (“/^[A-z0-9\._-]+”.”@” . “[A-z0-9][A-z0- 9-]*”.”(\.[A-z0-9_-]+)*”.”\.([A-z]{2,6})$/”),正则表达式可以是如果域不存在,即使在格式验证之后也无用。正则表达式根本行不通——我们需要考虑得更底层。任何域的电子邮件都需要什么? DNS MX 记录。那么,PHP 提供了一个很好的解决方案来验证所提供的电子邮件地址的域是否存在 MX 记录。

代码

function domain_exists($email, $record = 'MX'){
	list($user, $domain) = split('@', $email);
	return checkdnsrr($domain, $record);
}

用法

if(domain_exists('user@davidwalsh.name')) {
	echo('This MX records exists; I will accept this email as valid.');
}
else {
	echo('No MX record exists;  Invalid email.');
}

您会看到 MX 是默认的记录检查,但您可以根据需要将其更改为 A。此方法并非万无一失,但该功能确实为电子邮件的存在或欺诈提供了足够令人信服的论据。如果有效的电子邮件地址对您的目的很重要,请使用此功能。亲自尝试一下!

赞(0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏