PHP 不会在电子邮件中发送 HTML 表单的响应


php not sending response of html form in email

我在服务器上上传了这个 php 文件,我希望当用户填写此 php 文件中存在的 html 表单时,用户响应应发送到我在此 php 文件中提到的电子邮件地址....但它没有将响应发送到电子邮件地址...请帮忙...谢谢

<?php 
if ($_POST["email"]<>'') { 
$ToEmail = 'abc@gmail.com'; 
$EmailSubject = 'Site contact form'; 
$mailheader = "From: ".$_POST["email"]."'r'n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."'r'n"; 
$mailheader .= "Content-type: text/html; charset=iso-8859-1'r'n"; 
$MESSAGE_BODY = "Name: ".$_POST["name"].""; 
$MESSAGE_BODY .= "Email: ".$_POST["email"].""; 
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]).""; 
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die 
("Failure"); 
?> 
  Your message was sent
  <?php 
  } else { 
?> 
<form action="test.php" method="post">
<table width="400" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="29%" class="bodytext">Your name:</td>
<td width="71%"><input name="name" type="text" id="name" size="32"></td>
</tr>
<tr>
<td class="bodytext">Email address:</td>
<td><input name="email" type="text" id="email" size="32"></td>
</tr>
<tr>
<td class="bodytext">Comment:</td>
  <td><textarea name="comment" cols="45" rows="6" id="comment"      
    class="bodytext">
     </textarea></td>
      </tr>
      <tr>
  <td class="bodytext"> </td>
 <td align="left" valign="top"><input type="submit" name="Submit"     
   value="Send">
  </td>
 </tr>
 </table>
  </form> 
  <?php 
  }; 
  ?>
您要将

电子邮件发送到您之前定义的变量,$ToEmail 。将该变量的值更改为窗体中的值。

尝试:

if ($_POST["email"]<>'') { 
$ToEmail = $_POST['email']; 
$EmailSubject = 'Site contact form'; 
$mailheader = "From: abc@gmail.com'r'n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."'r'n"; 
$mailheader .= "Content-type: text/html; charset=iso-8859-1'r'n"; 
$MESSAGE_BODY = "Name: ".$_POST["name"].""; 
$MESSAGE_BODY .= "Email: ".$_POST["email"].""; 
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]).""; 
尝试使用 $mailheader = "发件人: admin@yourdomain"; 例如,来自 asd.com 的电子邮件必须具有 $mailheader = "发件人: noreply@asd.com"; 来自

stackoverflow.com 的电子邮件必须具有 $mailheader = "发件人: admin@stackoverflow.com"; 用于真实的电子邮件发送。在某些情况下,无效的电子邮件标头会导致无法发送电子邮件。