2012-10-22 2 views
3

나는 php 코딩을 처음 접했고 전자 메일 주소로 양식이있는 양식 메일 PHP에서 작업하고 있습니다. 코드는 제대로 작동합니다. 이제 방문자에게 메일의 성공 또는 실패를 알리는 방법이 있는지 알고 싶습니다. (동적으로 "성공"또는 "실패 다시 시도"를 언급 양식 페이지에 줄을 추가 내가 충분히 명확했다 희망 여기에 PHP 메일 통보

코드

<?php 

    $name = $_POST["name"]; 

    $company = $_POST["company"]; 

    $email = $_POST["email"]; 

    $contact =$_POST["contact"]; 

    $require = $_POST["requirement"]; 


    $message = "Name :".$name."\n"."Company :".$company."\n"."Email id".$email."\n"."Contact no :".$contact."\n"."Requirement : ".$require; 

    $subject ="Subject Matter Here"; 

    $to = "[email protected]"; 

    if(mail($to, $subject,$message)){ 
echo "We Received Your enquiry, We'll get back to you soon"; 
    } 
     else{ 
echo "there were some errors sending enquiry, please try again"; 
    } 




     ?> 
+0

양식 게시 방법은 무엇입니까? 다른 페이지로 보냈습니까? 에이 잭? – JNF

+0

잘이 스크립트로 설정된 동작을 가진 HTML 파일이 있습니다 ... 이제 동적으로 HTML을 업데이트하고 싶습니다. – TDsouza

+0

당신의 도움에 감사드립니다. 작은 자바 스크립트로 문제를 해결했습니다. 좋은 타협) 기본적으로 PHP 코드가 실행될 때 javascript를 호출합니다. 스크립트가 나머지를 처리합니다. – TDsouza

답변

3
$send = mail($to, $subject, $message); 

if(!$send){ 
    echo 'Failed to send!'; 
} 

mail 기능입니다.. :

반환 TRUE 메일이 성공적으로 배달 허용 된 경우, FALSE 그렇지.

$result = mail(...) 
if ($result) { 
    echo 'Success'; 
} else { 
    echo 'Failure try again'; 
} 

메일()가 false를 반환하는 경우, 당신은 확인 이메일 알이 전송되지 않습니다 :

+0

이것은 서버가 완전히 잘못 구성되지 않았 음을 확인합니다. 전자 메일이받는 사람에게 도달했는지 확인할 수있는 실용적인 방법은 없습니다. –

+0

@GeraldSchneider 저는 (다양한 호스팅 플랫폼에서 mail() 함수를 사용했던 대부분의 사람들은 아무것도 확신하지 못한다는 것을 알고 있습니다). 따라서 필자는 PHP 문서의 인용문을 포함 시켰습니다. –

+0

예 예 제가 시도했습니다 .. 문제는 "제출"을 누르면 텍스트가있는 빈 페이지로 이동합니다 .. 원하는 것은 동일한 페이지 자체의 양식 아래에 동적으로 나타나는 행입니다. 도움을 주셔서 감사합니다. – TDsouza

0

메일 기능은 성공을 나타내는 부울 값을 반환합니다. mail()이 true를 반환하면 메일 서버가 전자 메일 메시지를 수락했지만 여전히 배달되지 않을 수 있습니다. 메일 서버가 메시지를 거부 할 수있는 다른 메일 서버로 메일 서버를 보내려고합니다. 바운스 메시지를 받게되지만 즉시 발생하지 않기 때문에 결과를 양식에 표시 할 수 없습니다.

전자 메일이 배달되었는지 (자세히) 확인하려면 대상 호스트에 직접 연결해야합니다. 도메인에 대한 MX 레코드를 가져 와서 STMP 서버에 연결하여 대상 서버로 직접 보냅니다.

0

당신은 herehere

을 찾고 시도 등처럼 사용할 수 있습니다, 그것을 것이 중요하다

if (!mail(...)) {// Reschedule for later try or panic appropriately!} 

mail() returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.

는 점에 유의하기 위해 메일을 배달 받아 들여졌다해서 메일이 실제로 의도 한 목적지에 도착한다는 것을 의미하지는 않습니다.