有些人通过输入他们的电子邮件地址订阅了我的博客。
但是有些电子邮件地址不存在。
当我向这些电子邮件地址发送电子邮件时,如何知道这些电子邮件地址是否有效?
答案 0 :(得分:8)
向他们发送带有链接的确认邮件,并仅在他们点击该链接时激活订阅。
答案 1 :(得分:2)
据我所知,你不能。当您无法发送电子邮件时,您将知道该电子邮件无效,无论是因为该域名不存在还是该域名不存在该帐户。
如果您想确保只使用真实帐户进行订阅,请发送确认电子邮件,用户点击链接以验证其帐户(例如卡萨布兰卡说here)。
答案 2 :(得分:2)
您永远不会100%确定提供的电子邮件地址确实存在。
一种方法是使用SMTP VRFY
命令指示目标邮件中继确认收件人。但是许多服务器都没有提供此功能。它还需要直接的SMTP通信来进行检查。
即使目标服务器没有拒绝您的收件人,收件人也可能不存在,因为某些服务器接受所有收到的电子邮件并在稍后阶段将其退回。
您可以实现以下命令(或使用为您执行此操作的许多PHP scriplet之一):
HELO <your server name>
MAIL FROM: <>
RCPT TO: <destination@to.check>
QUIT
答案 3 :(得分:1)
您可以使用以下命令执行MX记录查找:
$result = getmxrr($hostname, $mxHosts);
if(count($mxHosts) < 1){
//no MX records found
}
这将阻止您的用户使用'jdjshjk@fdhjk.dff'类型的输入。请参阅php.net上的手册页:http://www.php.net/manual/en/function.getmxrr.php