2014-11-25 57 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

相关问题