2014-11-25 109 views
0
<?php 
$field_name = $_POST['cf_name']; 
$field_email = $_POST['cf_email']; 
$field_message = $_POST['cf_message']; 

$mail_to = '[email protected]'; 
$subject = 'Feedback from '. $field_name 

$body_message = 'From: '.$field_name."\n"; 
$body_message .= 'E-mail: '.$field_email."\n"; 
$body_message .= 'Message: '.$field_message; 

$headers = 'From: '.$field_email."\r\n"; 
$headers .= 'Reply-To: '.$field_email."\r\n"; 

$mail_status = mail($mail_to, $subject, $body_message, $headers); 

if ($mail_status) { ?> 
    <script language="javascript" type="text/javascript"> 
     alert('Thank you for your feedback, have a nice day!'); 
     window.location = 'some undefined location'; 
    </script> 
<?php 
} 
else { ?> 
    <script language="javascript" type="text/javascript"> 
     alert('Sorry your feedback was not sent, please try again soon!'); 
     window.location = 'some undefined location'; 
    </script> 
<?php 
} 

?>PHP電子郵件反饋表

我試圖創建提交反饋給我的期望的電子郵件地址形式,形式似乎當我進入所有的細節得以順利運行,但我沒有收到任何電子郵件?

任何人都可以看到爲什麼?

謝謝!

+0

檢查是否存在錯誤的郵件功能錯誤日誌,同時發送電子郵件。 – Aditya 2014-11-25 12:33:55

+0

你有Javascript的迴應嗎?錯誤日誌中是否有任何內容?你忘了那個;在主題背後還是在你的代碼? – Chilion 2014-11-25 12:41:04

+0

你在本地主機上執行腳本嗎?如果是這樣,你有沒有建立一個郵件服務器? – Jordy 2014-11-25 12:41:09

回答

1

寫標題是這樣的:

$headers = "From: " . $field_email. "\r\n"; 
$headers .= "Reply-To: ". $field_email. "\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 

example : 

$from = "[email protected]"; 
$to = "[email protected]"; 
$subject = "subject trail mail"; 
$mail_msg = "trail mail body"; 

$headers = "From: " . $from . "\r\n"; 
$headers .= "Reply-To: ". $from . "\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
$retval = mail ($to,$subject,$mail_msg,$headers); 

if($retval == true) 
{ 
    $st = "mail sent successfully"; 
} 
else{ 
    $st = "mail error" ; 
} 
echo "mail Status : " . $st ; 
+0

添加了這些標題,仍然沒有通過收件箱,垃圾郵件或垃圾郵件 – Andy 2014-11-25 12:57:19

0

$subject = 'Feedback from '. $field_name

應該是: $subject = 'Feedback from '. $field_name;

+0

有好處,但我仍然沒有收到表單中的任何電子郵件。 – Andy 2014-11-25 12:39:01

0

有什麼實際上是POST'ed?如果我用數據替換三個第一個POST,我會正確地收到郵件。你能迴應你發佈的價值嗎?

此代碼:

> <?php $field_name = 'Name'; $field_email = '[email protected]'; 
> $field_message = 'This is the message'; 
> 
> $mail_to = '[email protected]'; $subject = 'Feedback from '. 
> $field_name; 
> 
> $body_message = 'From: '.$field_name."\n"; $body_message .= 'E-mail: 
> '.$field_email."\n"; $body_message .= 'Message: '.$field_message; 
> 
> $headers = 'From: '.$field_email."\r\n"; $headers .= 'Reply-To: 
> '.$field_email."\r\n"; 
> 
> $mail_status = mail($mail_to, $subject, $body_message, $headers); 
> 
> if ($mail_status) { ?> 
>  <script language="javascript" type="text/javascript"> 
>   alert('Thank you for your feedback, have a nice day!'); 
>  </script> <?php } else { ?> 
>  <script language="javascript" type="text/javascript"> 
>   alert('Sorry your feedback was not sent, please try again soon!'); 
>  </script> <?php } ?> 

結果在此: enter image description here