我在设置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>
答案 0 :(得分:4)
From
标题应为电子邮件地址,或同时包含以下格式的姓名和电子邮件地址:
From: John Smith <j.smith@gmail.com>
它永远不应该只是一个名字,这就是你似乎在做的事情。另请记住使用\r\n
终止标头。
将用户输入用作From
标头通常不是一个好主意,因为它可能会引入标头注入漏洞,并且还可能导致垃圾邮件过滤器结果不一致。对于联系表单,我建议您使用自己的静态电子邮件地址。