【问题标题】:php email form issuephp电子邮件表单问题
【发布时间】:2013-07-01 12:58:48
【问题描述】:

我在设置 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>

【问题讨论】:

标签: php forms email


【解决方案1】:

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

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

它不应该只是一个名字,这就是你正在做的事情。还记得用\r\n 终止标头。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 2011-08-28
    • 2021-04-03
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    相关资源
    最近更新 更多