有没有可能在C#中找出电子邮件地址是否存在的方法?
例如:我有一个类似于abcded@yahoo.com或asdf234@hotmail.com的电子邮件地址。如何进行验证?
有没有可能在C#中找出电子邮件地址是否存在的方法?
例如:我有一个类似于abcded@yahoo.com或asdf234@hotmail.com的电子邮件地址。如何进行验证?
从前,互联网和SMTP邮件传输协议被发明出来。那是在大家都友善和蔼的好日子里,所以在SMTP协议中包含了一个命令用于验证电子邮件地址 - VRFY命令。
然而,黑暗降临到互联网上,并带来了垃圾邮件、蠕虫和其他恶意行为,因此互联网邮件服务器的系统管理员通过禁用VRFY命令来保护良好环境。
因此,简短的答案是:不可以。
根本没有办法
如果是因为某些原因,例如需要验证才能注册,那么当您发送时,会有人回复。
你想做这个的原因是什么?
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;
}