[英]How to verify if a email address exists?
有什么办法可以查出email地址是否存在于c#中?
例如,我有一个 email 地址,例如 abcded@yahoo.com 或 asdf234@hotmail.com 我该如何进行验证?
曾几何时发明了Internet和SMTP邮件传输协议。 它回到了过去,当时每个人都很友好,所以SMTP协议中包含一个命令来验证电子邮件地址 - VRFY命令。
然而,互联网上出现了黑暗,并带来了垃圾邮件发送者,蠕虫和其他邪恶的东西,因此互联网邮件服务器的系统管理员通过禁用VRFY命令来保护好的东西。
所以简短的回答是:不。
最明显的方法是向邮件地址发送电子邮件,并要求收件人回复或单击链接。
基本上:你做不到。 有些服务器支持finger(以验证特定用户是否存在),但对于Hotmail / Gmail,这是不可能的。 邮件虽然会反弹。
一般来说,这是不可能的。 这就是为什么很多网站都有注册你必须提供你的电子邮件地址,他们会发送一个链接,你必须去那个链接,以确认这是你的电子邮件。
完全没办法
如果出于某种原因,例如注册验证,则有人会在您发送时回复。
你为什么要这样做?
我有点晚了,但这可能对某人有所帮助现在您可以检查 email 是否存在。
这是我目前在我的网站上使用的代码。 您可以在 c# 中使用相同的 API
if(isEmialExist("EMAIL_ADDRESS_THAT"))
{
echo "email exists, real email";
}
else
{
echo "email doesn't exist";
}
function isEmialExist($emailAddress)
{
if (!filter_var($emailAddress, FILTER_VALIDATE_EMAIL)) {
return false; //invalid format
}
//now check if email really exist
$postdata = http_build_query(array('api_key' => 'YOUR_API_KEY', 'email' => $emailAddress ));
$url = "https://email-validator.com/api/v1.0/json";
$opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-Type: application/x-www-form-urlencoded', 'content' => $postdata ));
$context = stream_context_create($opts);
$result = file_get_contents($url, false, $context);
$data = json_decode($result, false);
return $data->is_exists;
}
您可以在此处找到更多详细信息。 https://email-validator.com/tutorial
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.