这是我的更新代码,试图获取我的表格以向我发送电子邮件。 我在表单周围添加了服务器php请求,尽管代码似乎并未读取它们。 推动测试后,我的代码在网站上显示为文本。 我记得有一次,我在远离表单标记的地方调用了php,但是不记得该语法了。

这是我要使用的代码:

<?php 
if ($_POST["email"]<>'') { 
    $ToEmail = 'chaseoutt@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"]."<br>"; 
    $MESSAGE_BODY .= "Email: ".$_POST["email"]."<br>"; 
    $MESSAGE_BODY .= "URL: ".$_POST["url"]."<br>"; 
    $MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"])."<br>"; 
    mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
?> 
Your message was sent
<?php 
} else { 
?> 

  <p style="font-style:italic; font-size:12px; font-weigh: normal; margin-top: -89px;     margin-left: 33px;">Contact me written in a different language.</p> <img src="http://www.cameroncashwell.com/imgs/pointing-left.png" style="float: right; margin-right: 140px; margin-top: -89px;">

<div class="form-div"> 
    <form id="fvujq-form1" style="font-size:22px; color:#333;" method="post" action="">
      <div class="form-row"><span class="label">Name *</span><input type="text" name="name" /></div>
      <div class="form-row"><span class="label">Email *</span><input type="text" name="email" /></div>
      <div class="form-row"><span class="label">URL</span><input type="text" name="url" /></div>
      <div class="form-row"><span class="label">Comment *</span><textarea name="comment"></textarea></div>
      <div class="form-row"><input class="submit" type="submit" value="Submit"></div>
    </form>
</div>
    <?php 
}; 
?>

我的错误在哪里?

===============>>#1 票数:3 已采纳

电子邮件不是由客户端中的JavaScript代码发送的; 它是从服务器发送的。 当用户点击“提交”,并且所有客户端验证均已通过时,表单数据将被POST到服务器。 表单元素的“ a​​ction”属性指定服务器上的哪个URL应接收POST的表单数据; 即类似action =“ send_email.php”之类的东西。

在服务器上实际生成电子邮件的方式完全取决于所使用的服务器技术,例如PHP或JSP或其他。

因此,上面的代码缺少两件事:

  1. 格式中的action =值,以及
  2. 服务器端代码(PHP文件或任何其他代码),它将接收数据并实际发送电子邮件(对应于#1)

===============>>#2 票数:0

并添加到@smendola的答案中...

对服务器端电子邮件发送进行排序后,您可能仍未收到您期望的电子邮件。 一些电子邮件主机(实际上是几个)检查发送服务器签名的有效性。 如果失败(即没有签名或只有自签名),则电子邮件主机可能会拒绝该电子邮件为垃圾邮件。

避免这种情况的一种方法是通过SMTP而不是PHP的本机send()函数发送表单数据。 最简单的解决方案是PHPMAILER 例如,您可以通过Gmail帐户发送内容。

  ask by Captain Ron translate from so

未解决问题?本站智能推荐: