没有从我的PHP表单接收电子邮件

时间:2015-11-27 02:14:30

标签: php html

我重新设计了我的网站,我正在努力让表单成为我网站的最后一步。但由于某种原因,我在我的网站上使用相同的代码并且它无法正常工作,我不知道问题是什么。

$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>

2 个答案:

答案 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/