【问题标题】:Receive email from PHP contact form接收来自 PHP 联系表的电子邮件
【发布时间】:2015-01-07 09:51:37
【问题描述】:

本人没有php经验,只做前端开发。我想设置此联系表以向我发送电子邮件。我正在使用example from htmldog.

这是我目前所拥有的:

    <form action="contact.php" method="post">
      <div class="col-md-5 left">
        <input name="sender" type="text" class="name" placeholder="FULL NAME">
        <input name="senderEmail" type="text" class="email" placeholder="EMAIL">
        <input name="senderPhoneNumber" type="text" class="number" placeholder="PHONE NUMBER">
      </div>
      <div class="col-md-7 right">
        <textarea name="message" id="" cols="30" rows="10" placeholder="MESSAGE"></textarea>
        <input type="submit" class="submit" name="submit" value="SEND">
      </div>
    </form>

这是php代码:

<?php

if($_POST["submit"]) {
    $recipient="test@mailinator.com";
    $subject="Contact form";
    $sender=$_POST["sender"];
    $senderEmail=$_POST["senderEmail"];
    $senderPhoneNumber=$_POST["senderPhoneNumber"];
    $message=$_POST["message"];

    $mailBody="Ime: $sender\nEmail: $senderEmail\nTelefon: $senderPhoneNumber\n\n$message";

    mail($recipient, $subject, $mailBody, "From: $sender <$senderEmail>");
}

?>

所有这些都位于显示整个联系页面的contact.php 文件中。 php 部分位于文件的最开头,在 &lt;!DOCTYPE html&gt; 声明之前。

编辑:抱歉不够清楚,表单由于某种原因无法正常工作,我想知道它是否可能是一些明显的编码错误,或者您是否看到任何其他原因导致它无法正常工作?

它的共享主机。

【问题讨论】:

  • 你有什么问题?
  • 问题是?
  • 那么它有效吗?这是在本地托管的吗?您使用的是开发服务器、共享主机还是专用主机?
  • 您的代码容易受到标头注入...
  • @PeeHaa 帮我解决这个问题,我怎样才能更安全?

标签: php html email post


【解决方案1】:

我之前一直被这个问题困扰。虽然看起来很简单,但 PHP 邮件功能需要预先配置。

PHP mail function 仅在您的计算机上有 SMTP 服务器时才有效。因此,最有可能的是,虽然代码似乎是正确的,但它无法在您的本地主机上运行(它可能仍可在共享主机上运行而无需任何更改)。

您可以使用自己的 SMTP 设置选择替代方案,例如 PHPMailer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 2012-11-10
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多