2014-03-05 4 views
0

그래서 나는 폼이있는 웹 페이지를 가지고 있고, 제출 버튼을 클릭하면, 사용자가하지 않고도 모든 폼 정보를 내 이메일로 보내는 PHP 페이지를 설정하려고합니다. Outlook 또는 전자 메일 소프트웨어를 사용하십시오. 나는 그것이 옳았다 고 생각했지만, PHP를 실행하는 대신, PHP 코드가 작성된 페이지를 보여 주었고 아무것도 내 이메일에 도착하지 않았습니다.나에게 PHP로 이메일 보내기

<form name="infoForm" method="post" action="email.php"> 
<p class="form"> 
    Are you a registered voter in the state of Washington?<br> 
    <input type="checkbox" id="yesBox"/> Yes<br><br> 

    First Name: <input type="text" id="firstName"><br> 
    Last Name:<input type="text" id="lastName"><br><br> 

    Email: <input type="text" id="email" size="30"><br><br> 
    Street Address: <input type="text" id="street1" size="30"><br> 
        <input type="text" id="street2" size="30"><br> 
    City: <input type="text" id="city" size="30"><br> 
    State: <input type="text" id="state" size="30"><br> 
    Zip Code: <input type="text" id="zip" size="30"><br><br> 
    Initials: <input type="text" id="initials" size="3"><br><br> 

    <input type="submit" name="send" class="inputButton" id="send" value="Submit" disabled=true/> <input type="reset" name="resetFields" class="inputButton" value="Reset"/> 
</p> 
</form> 

그리고 내 PHP 코드 :

<?php 
    if(isset($_POST['send'])){ 
     $to_address="[email protected]"; 
     $subject="WSA Day of Action Entry"; 
     $firstname=$_POST['firstname']; 
     $lastname=$_POST['lastname']; 
     $email=$_POST['email']; 
     $street1=$_POST['street1']; 
     $street2=$_POST['street2']; 
     $city=$_POST['city']; 
     $state=$_POST['state']; 
     $zip=$_POST['zip']; 
     $initials=$_POST['initials']; 
     $message="Name: " .$firstname." ".$lastname."\n"; 
     $message .="Email: " .$email."\n"; 
     $message .="Street: " .$street1."\n"; 
     $message .="Street: " .$street2."\n"; 
     $message .="City: " .$city."\n"; 
     $message .="State: " .$state."\n"; 
     $message .="Zip Code: " .$zip."\n"; 
     $message .="Initials: " .$initials."\n"; 
     $headers = 'From: '.$email."\r\n". 
     'Replay-To: '.$email."\r\n". 
     'X-Mailer: PHP/' .phpversion(); 
     mail($to_address, $subject, $message, $headers); 
     } 
?><!DOCTYPE HTML> 

<html> 
<body> 
Thank you! 
</body> 
</html> 
+0

영원히 혼자 (테스트했습니다). 파일이 구문 분석되지 않는 것 같습니다. – Robert

+0

"작성된 모든 PHP 코드 페이지를 보여줍니다"- 호스트가 PHP를 지원합니까? 파일의 이름이'* .php'이고 서버가 올바르게 설정되어 있으면 PHP 코드를 보지 말아야합니다. – Philipp

+0

서버 또는 로컬 호스트 (Windows 또는 Linux)에서이 스크립트를 실행하고 있습니까? –

답변

3

당신은 텍스트로이 콘텐츠 유형을 사용해야 추가/HTML

if(isset($_POST['send'])){ 
     $to_address="[email protected]"; 
     $subject="WSA Day of Action Entry"; 
     $firstname=$_POST['firstname']; 
     $lastname=$_POST['lastname']; 
     $email=$_POST['email']; 
     $street1=$_POST['street1']; 
     $street2=$_POST['street2']; 
     $city=$_POST['city']; 
     $state=$_POST['state']; 
     $zip=$_POST['zip']; 
     $initials=$_POST['initials']; 
     $message="Name: " .$firstname." ".$lastname."\n"; 
     $message .="Email: " .$email."\n"; 
     $message .="Street: " .$street1."\n"; 
     $message .="Street: " .$street2."\n"; 
     $message .="City: " .$city."\n"; 
     $message .="State: " .$state."\n"; 
     $message .="Zip Code: " .$zip."\n"; 
     $message .="Initials: " .$initials."\n"; 


$headers=" From : ". $email."\r\n"; 
$headers.= 'MIME-Version: 1.0' . "\r\n"; 
$headers.= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 


     mail($to_address, $subject, $message, $headers); 
} 
+0

오오, PHP 코드가 단순히 표시되는 것이 아니라 문제가 해결되었지만 이제는 새로운 문제가 있습니다. 양식을 제출할 때 이메일이 도착하지 않습니다 ... –

0
$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
$to_address1="Your mail id"; 
mail($to_address1, $subject, $message, $headers); 

이이

+0

나는이 두 문장을 이미 PHP 코드에 포함하고 있습니다. to_address가 맨 위에 있고 메일 (...)이 맨 아래에 있습니다 –

+0

그 다음 헤더를 추가합니다. – user3004356

+0

@TonyWhite 기존의 toaddress와 함께 헤더를 추가해야합니다. – user3004356

0

보내기 다음 폼의 PHP는 메일이 약간 까다 롭습니다. 이 플러그인을 사용하기 전까지는 많은 문제가있었습니다. http://phpmailer.worxware.com/

당신이 제대로 작동하지 않으면 반드시 시도해야합니다.

0

나는 일시적으로 .Net으로 변경하기 전에 최근에 PHP 이메일을 개인적으로 설정했지만, 코드에 문제가있는 것은 확실치 않지만, 수정 한 PHP 이메일 포럼은 여기에 있습니다. 웹 서버에 PHP 파서를 추가 :

Take a look