2011-08-23 7 views
-2

는이 코드올바른 이메일 주소가 입력되었는지 확인하는 방법은 무엇입니까?

<?php 
if(isset($_POST['submit'])) { 
$to = "[email protected]"; 
$subject = "Form"; 
$name_field = $_POST['name']; 
$email_field = $_POST['email']; 
$message = $_POST['message']; 

$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message"; 

echo "<div id='messageok'> Ok. <br /><span> Thank you. </span></div>"; 
mail($to, $subject, $body); 
} else { 
echo "<div id='messageok'> Error. </div>"; 
} 
?> 

을하고 난 형태의 필드가 작성하고 전자 메일 주소가 정확한지되어 있는지 확인해야합니다. 예, 많은 튜토리얼을 발견했지만, PHP에서는별로 좋지 않습니다.이 코드는 저에게 효과적입니다. 고맙습니다.

+0

What'a는 "올바른"이메일 주소이 하나를 확인하는 방법은 여러 가지가있다? RFC822를 준수합니까? 실제로 존재하는 것은? –

+0

코드에서 실제 전자 메일 주소를 제거해야합니다. – Cfreak

+1

정답은 다음과 같습니다. 그냥 올바른 이메일 주소를 부여했다고 가정하거나 확인해야하는 경우 확인 링크가 포함 된 이메일을 보내 확인하십시오. 적절한 이메일 주소 확인은 매우 까다 롭습니다. 만약 당신이 허위의 네거티브를 남겨 둘 경우 ("당신은 무엇을 의미합니까?" "bob + smith 27"@ bob.museum'은 잘못된 이메일 주소입니까? 나는 매일 그것을 사용합니다! ") 그러면 사용자를 떠날 것입니다. – BishopRook

답변

1

는 유효한 이메일을

http://www.google.com/search?q=valid+email+address+php+preg_match

예를

function checkEmail($email) { 
    if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", 
       $email)){ 
    list($username,$domain)=split('@',$email); 
    if(!checkdnsrr($domain,'MX')) { 
     return false; 
    } 
    return true; 
    } 
    return false; 
} 
관련 문제