一些人通过输入他们的电子邮件地址订阅了我的博客。
但是,其中一些电子邮件地址是不存在的。
当我向这些电子邮件地址发送电子邮件时,我该如何知道这些电子邮件地址是否有效?
但是,其中一些电子邮件地址是不存在的。
当我向这些电子邮件地址发送电子邮件时,我该如何知道这些电子邮件地址是否有效?
您永远无法100%确定提供的电子邮件地址是否真实存在。
一种方法是使用SMTP VRFY
命令,指示目标邮件中继确认收件人。但许多服务器不提供此功能。这还需要直接的SMTP通信来进行检查。
即使目标服务器不拒绝您的收件人,收件人也可能不存在,因为某些服务器接受所有传入的电子邮件并在以后将其退回。
您可以实现以下命令(或使用其中一个为您执行此操作的许多PHP脚本):
HELO <your server name>
MAIL FROM: <>
RCPT TO: <destination@to.check>
QUIT
您可以使用以下代码进行 MX 记录查询:
$result = getmxrr($hostname, $mxHosts);
if(count($mxHosts) < 1){
//no MX records found
}
这将防止用户使用“jdjshjk@fdhjk.dff”类型的输入。请参阅php.net上的手册页面:http://www.php.net/manual/zh/function.getmxrr.php