0

我在设置 PHP 表单时遇到问题。这是我第一次尝试这样做。我有表格可以提交并发送到我的电子邮件。但我收到 2 封电子邮件。

在此处输入图像描述

是不是说(未知发件人)????肯定不是。

在此处输入图像描述

在这张图片中,它向您展示了仅提交一个表单后。它发送一封空白电子邮件和一封带有文本的电子邮件。但只有消息。怎么了?

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$to = "adamgoredesign@gmail.com";
$subject = "New Message";

mail ($to, $subject, $message, "From: " . $name);
echo "Your Message has been sent";

?>

      <form id="contactform" name="contact" method="post" action="#">
  <div class="row">
    <label for="name">Your Name<span class="req">*</span></label>
    <input type="text" name="name" id="name" class="text" tabindex="1" placeholder="enter name" required>
  </div>
  <br>
  <div class="row">
    <label for="email">E-mail Address<span class="req">*</span></label>
    <input type="email" name="email" id="email" class="text" tabindex="2" placeholder="address@domain.com" required>
  </div>
  <br>
  <div class="row">
    <label for="subject">Subject<span class="req">*</span></label>
    <input type="text" name="subject" id="subject" class="text" tabindex="3" placeholder="subject title" required>
  </div>
 <br>
  <div class="row">
    <label for="message">Message<span class="req">*</span></label>
    <textarea name="message" id="message" class="textarea" tabindex="4" required></textarea>
  </div>
  <br>
  <div class="row">
  <input type="submit" name="submit" value="Send Message" id="submit" />
  </div>
  </form>
4

1 回答 1

4

From头应该是电子邮件地址或名称和电子邮件地址,格式如下:

From: John Smith <j.smith@gmail.com>

它永远不应该只是一个名字,这就是你正在做的事情。还要记住用\r\n.

使用用户输入作为From标头通常不是一个好主意,因为它会引入标头注入漏洞,并且还会导致垃圾邮件过滤结果不一致。对于联系表格,我建议只使用您自己的静态电子邮件地址。

于 2013-07-01T13:07:07.513 回答