Sunucu bunu kabul edecek eğer gerçekten kontrol edemez. Posta sunucusu ait olduğunu işlemek için bir API yoktur.
MX sunucuya bağlanmak için çalıştı, ve bunun yerine sadece bir değil, kullanımda posta kutusu olarak reddetme, bir şifre istediğini belirtti sunucudan yanıt çeşit için baktım bir komut olarak kullanılan. Bu ancak çok kötü bir uygulamadır.
Hemen hemen yapabileceğiniz tek şey, geçerli bir e-posta adresi için kontrol edin ve en iyi için umut etmektir:
http://www.linuxjournal.com/article/9585
Bu aslında RFC standartları takip öğreticiler biridir.
/**
Validate an email address.
Provide email address (raw input)
Returns true if the email address has the email
address format and the domain exists.
*/
function validEmail($email)
{
$isValid = true;
$atIndex = strrpos($email, "@");
if (is_bool($atIndex) && !$atIndex)
{
$isValid = false;
}
else
{
$domain = substr($email, $atIndex+1);
$local = substr($email, 0, $atIndex);
$localLen = strlen($local);
$domainLen = strlen($domain);
if ($localLen < 1 || $localLen > 64)
{
// local part length exceeded
$isValid = false;
}
else if ($domainLen < 1 || $domainLen > 255)
{
// domain part length exceeded
$isValid = false;
}
else if ($local[0] == '.' || $local[$localLen-1] == '.')
{
// local part starts or ends with '.'
$isValid = false;
}
else if (preg_match('/\\.\\./', $local))
{
// local part has two consecutive dots
$isValid = false;
}
else if (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain))
{
// character not valid in domain part
$isValid = false;
}
else if (preg_match('/\\.\\./', $domain))
{
// domain part has two consecutive dots
$isValid = false;
}
else if
(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/',
str_replace("\\\\","",$local)))
{
// character not valid in local part unless
// local part is quoted
if (!preg_match('/^"(\\\\"|[^"])+"$/',
str_replace("\\\\","",$local)))
{
$isValid = false;
}
}
if ($isValid && !(checkdnsrr($domain,"MX") ||
↪checkdnsrr($domain,"A")))
{
// domain not found in DNS
$isValid = false;
}
}
return $isValid;
}
Bir e-posta teslim edilmesi mümkün olduğundan emin yapma yolunda, doğrulamaları almak için gidiyoruz gibi yaklaşık olarak iyidir.