2014-04-15 4 views
3

전자 메일받은 편지함이 원격 서버에 있는지 확인하는 API가 있습니까? my-addr.com은이 작업을 아름답게 처리하며 상자에 대한 놀라운 정보를 제공합니다.원격 서버에 전자 메일받은 편지함이 있는지 확인하는 방법

내가 링크 된 도구는 프로세스 "역 전자 메일 조회"를 호출하지만 동일한 내용을 검색하면 "전자 메일 주소에서 사람 찾기"및 기타 도구가 표시됩니다.

어떻게 작동합니까? PHP 또는 C#에서 직접이 작업을 수행 할 수 있습니까?

답변

3

필자는 이러한 기능이 스패머를 물리 치기 위해 거짓말을한다는 것을 알게 될 것입니다. 사용자가 확인 (또는 구독 취소 ....) 링크를 클릭하는 것 이외의 다른 이메일을 확인하는 방법이있는 경우 스팸 발송자가 항상 사용합니다.

이메일 주소를 확인하는 가장 좋은 방법은 사용자에게 링크가 포함 된 이메일을 보내고 링크를 클릭하여 이메일을 받았는지 확인하도록합니다. 즉, 유일한 옵션은 SMTP RCPT TO 또는 VRFY 명령입니다.

RCPT는 발급 후 분리하는 한 확인할 수 있습니다. 그러나 계정이없는 경우 모든 서버가 부팅되지 않습니다.

VRFY는 해당 서버에 계정이 있는지 알려주지 만 계정 검사를 막기 위해 거의 항상 비활성화되어 있습니다. 검증 RCPT을 수행

PHP 클래스입니다 : 즉, 기술적으로 무게 (당신이 사이트의 결과에 만족하기 때문에, 당신은 을 고려할 수 : http://code.google.com/p/php-smtp-email-validation/

2

내가 프로그래밍 방식을 사용하는 것을 금지하는 my-addr.com's TOU에 아무것도 표시되지 않습니다 , 법적 및 윤리적으로) my-addr.com 자체를 "API"로 사용합니다.

private void MakeRequests() 
{ 
    HttpWebResponse response; 

    if (Request_my_addr_com(out response)) 
    { 
     response.Close(); 
    } 
} 

private bool Request_my_addr_com(out HttpWebResponse response) 
{ 
    response = null; 

    try 
    { 
     HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://my-addr.com/email/?mail=baz%40gmail.com&x=0&y=0"); 

     request.KeepAlive = true; 
     request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"; 
     request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36"; 
     request.Referer = "http://my-addr.com/email/?mail=foo%40gmail.com&x=15&y=12"; 
     request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip,deflate,sdch"); 
     request.Headers.Set(HttpRequestHeader.AcceptLanguage, "en-US,en;q=0.8"); 
     request.Headers.Set(HttpRequestHeader.Cookie, @"PHPSESSID=ne655jvfdte82b94gn0oumegj6"); 

     response = (HttpWebResponse)request.GetResponse(); 
    } 
    catch (WebException e) 
    { 
     if (e.Status == WebExceptionStatus.ProtocolError) response = (HttpWebResponse)e.Response; 
     else return false; 
    } 
    catch (Exception) 
    { 
     if(response != null) response.Close(); 
     return false; 
    } 

    return true; 
} 
+0

니스 시도하지만, 30 일의 제한이 있습니다! : 시작점으로

, 여기에 내가 수행 빠른 사서함 생존 확인을 위해 피들러 Request to Code C 번호입니다 이 작업을 수행하는 올바른 방법을 찾아야하거나 일괄 처리를 지불해야합니다 ... http://email-verify.my-addr.com/online-email-list-verification-tool.php –