PHP到电子邮件表单:';垃圾邮件';问题、验证、警报框


PHP to email form: 'spam' issue, validation, alert box

我花了很多时间尝试在stackoverflow上找到的东西,但似乎找不到我要找的东西。

我还要说,我对PHP/JavaScript的了解是基本的,因为这不是我通常参与的内容

我有一个非常简单的联系表格:

  <form action=' ' method='post'>
    <label for='firstName' >First Name: </label>
    <input type='text' name='firstName' id='firstName' />
    <label for='lastName' >Last Name: </label>
    <input type='text' name='lastName' id='lastName' />
    <label for='phone' >Contact No :</label>
    <input type='text' name='phone' id='phone' />
    <label for='email' >Email Address:</label>
    <input type='text' name='email' id='email' />
    <input type='image' id="submit" src="images/submit.png" class="uibutton" onclick="show_alert()" />
  </form>

这是我的PHP:

<?php

if(isset($_POST['email'])){

$field_name = $_POST['firstName'];
$field_surname = $_POST['lastName'];
$field_phone = $_POST['phone'];
$reply_to = $_POST['email'];

//send email
$mail_to = 'me.pfrrr@gmail.com';
$subject = 'Contact a site visitor '.$field_name." ".$field_surname;
$body_message = 'First Name: '.$field_name."'n";
$body_message .= 'Last Name: '.$field_surname."'n";
$body_message .= 'Phone Number: '.$field_phone."'n";
$body_message .= 'Email Address: '.$reply_to;
$headers = 'From: '.$field_name."'r'n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);

}?>

我想让我的表格给我发一封电子邮件。它做到了;然而,我收到的电子邮件总是进入"垃圾邮件"文件夹。域/IP不在PBL列表中。

如果有人能至少给我一个如何实现以下目标的方向并回答一些问题,我将不胜感激:

  1. 我想让电子邮件进入"收件箱"文件夹

2.我想验证表单,但我希望我的错误显示在文本字段下。我可以用Dreamweaver提供的工具做到这一点;然而,它仍然允许我提交一个空表单。有没有一种方法可以使用php/html/css以美观的方式显示错误?(在同一页>每个文本字段下)

3.在"提交"时,我收到一个提示框,上面写着"谢谢"。只有在正确填写表格后,我才能弹出提醒框?

我真的很感激"正确"的答案(而不是:"去阅读php/javascript教程"之类的东西,因为我已经做过了,尝试过了,但没有奏效——所以我需要进一步的建议)

谢谢:)

  1. 如果这只是发送到您的电子邮件,请将发件人地址添加到您的联系人中。这将覆盖任何垃圾邮件过滤器。

  2. 如果需要字段,可以使用html5表单验证。您也可以使用这些来检查有效的电子邮件地址。

  3. 将javascript从<form>标记中的按钮onclick=""移动到onsubmit=""