2011-09-16 8 views
3

PHP를 통해 특정 이메일 주소가 활성화되어 있는지 (즉, 누구나 사용중인 &) 사용하고 있지 않은지 여부를 확인할 수 있습니까 (차단되었거나 아무도 사용/사용하지 않으면 비활성 상태임을 나타냄) ?
감사합니다. & 미리 감사드립니다.PHP에서 이메일이 활성화되어 있는지 여부를 확인할 수있는 방법이 있습니까?

+0

자신을 호스팅하는 이메일 서버 또는 Google Mail과 같은 것을 말하고 있습니까? –

+0

짧은 대답은 아니오, 이메일이 너무 일시적이어서 이메일이 있는지 여부를 확인하는 것은 매우 어렵습니다. – Aknosis

+0

@ Lukas Knuth Google, Yahoo 또는 Hotmail 등의 외부 서버에 대해 이야기하고 있습니다. – swdeveloper

답변

0

당신은 거기에 몇 가지 이메일 확인 API의 밖으로있다

외부 서비스에 API를 사용 할 수 있지만, 내지 data8이 하나있어. 여기

http://www.data-8.co.uk/integr8/services/email_validation.aspx 샘플

function IsValid($email, $level) 
{ 
    $params = array(
    "username" => "your-username", 
    "password" => "your-password", 
    "email" => $email, 
    "level" => $level, 
    "options" => $options 
); 
    $client = new SoapClient("http://webservices.data-8.co.uk/EmailValidation.asmx?WSDL"); 
    $result = $client->IsValid($params); 
    if ($result->IsValidResult->Status->Success == 0) 
    { 
    echo "Error: " . $result->IsValidResult->Status->ErrorMessage; 
    } 
    else 
    { 
    // TODO: Process method results here. 
    // Results can be extracted from the following fields: 
    // $result->IsValidResult->Result 
    // Contains a status code indicating if the email address could be validated. 
    } 
} 
+1

Mmmmm 일종의. 그러나 이것은 전자 메일 주소의 * 도메인 *이 활성화되어 있고 활성 상태인지 여부와 해당 서버의 전자 메일 주소가 일반적으로 존재하는지 여부 만 확인합니다. 해당 도메인의 * 특정 * 전자 메일 주소가 사용 중인지 여부, 사용자의 액세스 가능 여부 등을 알려주지 않습니다. –

+0

명시된 전자 메일을 확인하지만 결코 100 % 방법이 아닙니다. 확실하게, "유효 : 선택한 유효성 검사 수준에 따라 전자 메일 주소가 유효합니다.이 주소로 보내지는 전자 메일이 배달되고 읽히도록하는 절대적인 보장은 아닙니다." –

+0

예, 내 작업은 사용자가 액세스 권한을 갖고 있는지 여부를 확인하는 것입니다. – swdeveloper

3

특정 이메일 주소 (수단이 현재 누구나 열 & 사용되는)이 활성인지의 여부를 (그 차단 수단 (PHP 통해) 확인하는 어떠한 방법이 아니면 아무도/그것을 연다 사용하지 , 비활성 상태)?

확신 할 수있는 유일한 방법은 주소로 이메일을 보낼 수 있습니다 번호, 반송 메시지를받지 및 답변, 또는 사용자처럼 (다시 응답의 어떤 종류를 얻을 수 전자 메일에서 고유 한 링크를 클릭하거나 고유 한 URL이 열려있는 이미지 [많은 전자 메일 클라이언트에 의해 차단되고 읽히는 경우]가 표시됩니다. 이 방법들 중 어느 것도 확실하지 않으므로 100 % 확신 할 수는 없습니다.

+0

+1 따라서 "확인하려면 여기를 클릭하십시오"유형의 전자 메일 링크를 클릭하십시오. – Herbert

2

내가 이메일 사용자가 유효한지 여부를 입력하면 당신이 요구하는 생각을하다! 이러한 경우 당신은 간부의 도움으로 유닉스 기반의 운영 체제에 대한 nslookup을 사용해야합니다 .. 여기에 대한 작은 기능은 다음과 같습니다 (도메인이 올바른지 아닌지 내가 확인하고)

function myCheckDNSRR($email) 
{ 
     list($userName, $hostName) = split("@", $email); 
$recType = ''; 
if(!empty($hostName)) { 
    if($recType == '') $recType = "MX"; 

    exec("nslookup -type=$recType $hostName", $result); 
    // check each line to find the one that starts with the host 
    // name. If it exists then the function succeeded. 

    foreach ($result as $line) { 
    if(eregi("^$hostName",$line)) { 
     return true; 
    } 
    } 
    // otherwise there was no mail handler for the domain 
    return false; 
} 
return false; 

}

+0

PHP에는 checkdnsrr 함수가 있습니다.) – NikiC

관련 문제