我重新设计了我的网站,我正在努力让表单成为我网站的最后一步。但由于某种原因,我在我的网站上使用相同的代码并且它无法正常工作,我不知道问题是什么。
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_message = $_POST['message'];
$mail_to = 'myemail';
$subject = 'Site Mail';
$body_message = 'From: '.$field_name."\n";
$body_message .= 'Email: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;
$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
,表格是
<form name="myform" action="success.php" method="post" enctype="multipart/form-data">
<input type="text" placeholder="Your Name *" name="name" size="100" required="">
<article>
<input type="text" placeholder="Your Email *" name="email" size="30" required="">
</article>
<article>
<textarea placeholder="Your Message" name="message" cols="40" rows="3" required=""></textarea>
<div class="btn-wrap text-center">
<a href="javascript: submitform()">
<button class="btn-gray btn-mod btn-w btn-medium btn-rounded" id="submit" name="submit" type="submit">Send Message</button></a>
</div>
</article>
</form>
答案 0 :(得分:0)
如果您在本地计算机上运行此代码,则需要安装邮件服务器并使用PHP配置以发送邮件。可能值得一看PHP Mailer http://stackoverflow.com/questions/17533863/how-to-configure-php-to-send-e-mail
答案 1 :(得分:0)
如果您在Windows上运行此功能,那么您肯定需要一个邮件传输代理来发送邮件。在Linux上运行,这不是必需的。即使它确实发送,但是通过垃圾邮件过滤器获取邮件可能会遇到麻烦。
您的代码还有另一个问题,但更严重。就像处理SQL的代码一样,存在代码注入的风险。切勿在未经过滤的邮件标题中使用用户输入。我建议阅读邮件注入。我也推荐PHPMailer。
我写的一篇关于这个主题的文章可能对你有所帮助https://facebook.com/notes/coder-central/code-injection-user-input-and-parseable-code-the-dangers/787127538029773/