2014-06-24 8 views
0

연습으로 웹 사이트를 구축 중입니다. 양식을 만든 '문의하기'페이지가 있습니다. 나는이 페이지를 .php 확장자로 저장했다. 그런 경우에만 웹 페이지가 다른 PHP 페이지로 양식 데이터를 보낼 것이라고 믿었다. 일단 보내기 버튼을 누르면, 그것은 자동으로 이메일을 보내야하는 HTML과 PHP 스크립트와 PHP 페이지로 연결됩니다. 그러나 그것은 일어나지 않습니다. 여기에 PHP 스크립트가 있습니다 :PHP 스크립트를 사용하여 HTML 양식을 통해 이메일 보내기

<?php 


if(isset($_POST['submit'])) 

{ 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $mobile = $_POST['mobile']; 
    $country = $_POST['country']; 
    $city = $_POST['city']; 
    $message = $_POST['contactusmessage']; 

    $headers = '[email protected]'; 


    $to = '[email protected]'; 

    $mail=mail($to,$message,$headers); 

     if($mail){ 
      echo"<p>Thanks $name for the message.</p>"; 
      echo"<p>We will reply to $email</p>"; 
     } 
     else{ 
      echo "Mail sending failed."; 
     } 

} 

?> 

내가 어디로 잘못 가고 있는지 말해 주시겠습니까?

+1

당신은 아마 그들이 브라이언의 대답에 따라 로봇 – esqew

+0

에 의해 선택되기 전에 당신이 여기에 언급 한 이메일을 제거해야합니다 : 메일() 명령은 다음과 같이 될 것이다 그들은에서 또는 심지어 회신으로 당신을 제공합니까? 당신은 이것을하지 않는 이유가 있을지 모르지만 단지 당신이 그 이메일에 답장을 할 수있는만큼 나에게 더 이해가됩니다. – Devon

답변

5

$headers = '[email protected]'; 나는 그것이 잘못된 머리글 인 것처럼 보입니다. 그게 너의 메일이 나가는 이유 야. 변경하려면

$mail=mail($to,'This is the subject',$message,$headers);으로 변경하십시오 (아래의 다른 답변에서도 언급 됨). 제목 매개 변수가 mail()으로 누락되었습니다.

+0

변경했습니다 ... 아직 메일을 보내지 못했습니다. – KawaiKx

+0

Register_globals이 꺼져 있고 제어 할 수 없습니다. – KawaiKx

+0

register_globals는이 문제와 아무런 관련이 없습니다;) 아래에서 언급 한 @mti2935와 같이 제목 매개 변수가'mail()'에 누락되었다는 사실을 놓쳤습니다. 헤더가 유효하고 mail()에 대한 호출이 올바른지 확인하려면이 두 가지 사항을 모두 수정해야합니다. 그래도 문제가 해결되지 않으면 새로운 코드베이스로 질문을 업데이트하여 최신 버전을 확인하십시오. – Brian

1

Brian이 지적한 것 외에도 mail() 명령을 호출 할 때 메시지의 제목을 지정하고 봉투 보낸 사람을 지정할 수 있으며 헤더에 보낸 사람을 지정할 수도 있습니다. 이메일을 사용하지 왜

mail($to, "web form submittal", $message, $headers, "-f [email protected]"); 
+0

나는 거기에 빠진 주제 매개 변수를 완전히 놓쳤습니다. 좋은 캐치;) – Brian

관련 문제